From a3c6496ffa82aa2f3af64b1264d9d566bf0248e0 Mon Sep 17 00:00:00 2001 From: hyowons Date: Thu, 11 Jun 2026 11:20:31 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20sim=20=EC=A0=84=EB=9E=B5=20=ED=8C=8C?= =?UTF-8?q?=EB=9D=BC=EB=AF=B8=ED=84=B0=C2=B7=ED=8E=98=EC=9D=B4=ED=8D=BC=20?= =?UTF-8?q?=EC=8B=A4=ED=97=98=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20git=20?= =?UTF-8?q?=EC=B6=94=EC=A0=81=20(=EB=B0=B1=EC=97=85=20=EA=B3=B5=EB=B0=B1?= =?UTF-8?q?=20=ED=95=B4=EC=86=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit state/* 일괄 제외에 sim 화이트리스트 추가 — 108변이 파라미터(variants.json)· 메인 튜닝(params.json)·마킹(favorites.json)·등록근거(backtest_results.json)· 일별성과(equity_history)·관찰목록·지수이력 + 변이별 계좌/거래기록. last_scan·variants_compare(5분 스냅샷)·flow_history.sqlite(백필 재구축 가능)는 계속 제외. Co-Authored-By: Claude Opus 4.8 --- .gitignore | 12 + .../workspace/state/sim/backtest_results.json | 96833 ++++++++++++++++ .../workspace/state/sim/equity_history.json | 1 + .../stock/workspace/state/sim/favorites.json | 1 + .../workspace/state/sim/index_history.json | 1 + agents/stock/workspace/state/sim/params.json | 11 + .../stock/workspace/state/sim/variants.json | 1694 + .../state/sim/variants/v1/portfolio.json | 13 + .../state/sim/variants/v10/portfolio.json | 13 + .../state/sim/variants/v100/portfolio.json | 13 + .../state/sim/variants/v101/portfolio.json | 13 + .../state/sim/variants/v102/portfolio.json | 13 + .../state/sim/variants/v103/portfolio.json | 13 + .../state/sim/variants/v104/portfolio.json | 13 + .../state/sim/variants/v105/portfolio.json | 13 + .../state/sim/variants/v106/portfolio.json | 35 + .../state/sim/variants/v106/trades.jsonl | 1 + .../state/sim/variants/v107/portfolio.json | 13 + .../state/sim/variants/v108/portfolio.json | 13 + .../state/sim/variants/v11/portfolio.json | 13 + .../state/sim/variants/v12/portfolio.json | 13 + .../state/sim/variants/v13/portfolio.json | 13 + .../state/sim/variants/v14/portfolio.json | 13 + .../state/sim/variants/v15/portfolio.json | 13 + .../state/sim/variants/v16/portfolio.json | 13 + .../state/sim/variants/v17/portfolio.json | 13 + .../state/sim/variants/v18/portfolio.json | 13 + .../state/sim/variants/v19/portfolio.json | 13 + .../state/sim/variants/v2/portfolio.json | 13 + .../state/sim/variants/v20/portfolio.json | 13 + .../state/sim/variants/v21/portfolio.json | 13 + .../state/sim/variants/v22/portfolio.json | 13 + .../state/sim/variants/v23/portfolio.json | 13 + .../state/sim/variants/v24/portfolio.json | 13 + .../state/sim/variants/v25/portfolio.json | 13 + .../state/sim/variants/v26/portfolio.json | 13 + .../state/sim/variants/v27/portfolio.json | 13 + .../state/sim/variants/v28/portfolio.json | 13 + .../state/sim/variants/v29/portfolio.json | 13 + .../state/sim/variants/v3/portfolio.json | 13 + .../state/sim/variants/v30/portfolio.json | 13 + .../state/sim/variants/v31/portfolio.json | 13 + .../state/sim/variants/v32/portfolio.json | 13 + .../state/sim/variants/v33/portfolio.json | 13 + .../state/sim/variants/v34/portfolio.json | 13 + .../state/sim/variants/v35/portfolio.json | 13 + .../state/sim/variants/v36/portfolio.json | 13 + .../state/sim/variants/v37/portfolio.json | 13 + .../state/sim/variants/v38/portfolio.json | 13 + .../state/sim/variants/v39/portfolio.json | 13 + .../state/sim/variants/v4/portfolio.json | 13 + .../state/sim/variants/v40/portfolio.json | 35 + .../state/sim/variants/v40/trades.jsonl | 1 + .../state/sim/variants/v41/portfolio.json | 13 + .../state/sim/variants/v42/portfolio.json | 35 + .../state/sim/variants/v42/trades.jsonl | 1 + .../state/sim/variants/v43/portfolio.json | 13 + .../state/sim/variants/v44/portfolio.json | 35 + .../state/sim/variants/v44/trades.jsonl | 1 + .../state/sim/variants/v45/portfolio.json | 13 + .../state/sim/variants/v46/portfolio.json | 13 + .../state/sim/variants/v47/portfolio.json | 13 + .../state/sim/variants/v48/portfolio.json | 35 + .../state/sim/variants/v48/trades.jsonl | 1 + .../state/sim/variants/v49/portfolio.json | 13 + .../state/sim/variants/v5/portfolio.json | 13 + .../state/sim/variants/v50/portfolio.json | 13 + .../state/sim/variants/v51/portfolio.json | 13 + .../state/sim/variants/v52/portfolio.json | 13 + .../state/sim/variants/v53/portfolio.json | 13 + .../state/sim/variants/v54/portfolio.json | 13 + .../state/sim/variants/v55/portfolio.json | 13 + .../state/sim/variants/v56/portfolio.json | 13 + .../state/sim/variants/v57/portfolio.json | 13 + .../state/sim/variants/v58/portfolio.json | 13 + .../state/sim/variants/v59/portfolio.json | 13 + .../state/sim/variants/v6/portfolio.json | 13 + .../state/sim/variants/v60/portfolio.json | 13 + .../state/sim/variants/v61/portfolio.json | 13 + .../state/sim/variants/v62/portfolio.json | 56 + .../state/sim/variants/v62/trades.jsonl | 2 + .../state/sim/variants/v63/portfolio.json | 13 + .../state/sim/variants/v64/portfolio.json | 56 + .../state/sim/variants/v64/trades.jsonl | 2 + .../state/sim/variants/v65/portfolio.json | 13 + .../state/sim/variants/v66/portfolio.json | 56 + .../state/sim/variants/v66/trades.jsonl | 2 + .../state/sim/variants/v67/portfolio.json | 13 + .../state/sim/variants/v68/portfolio.json | 56 + .../state/sim/variants/v68/trades.jsonl | 2 + .../state/sim/variants/v69/portfolio.json | 13 + .../state/sim/variants/v7/portfolio.json | 13 + .../state/sim/variants/v70/portfolio.json | 56 + .../state/sim/variants/v70/trades.jsonl | 2 + .../state/sim/variants/v71/portfolio.json | 13 + .../state/sim/variants/v72/portfolio.json | 56 + .../state/sim/variants/v72/trades.jsonl | 2 + .../state/sim/variants/v73/portfolio.json | 13 + .../state/sim/variants/v74/portfolio.json | 56 + .../state/sim/variants/v74/trades.jsonl | 2 + .../state/sim/variants/v75/portfolio.json | 13 + .../state/sim/variants/v76/portfolio.json | 56 + .../state/sim/variants/v76/trades.jsonl | 2 + .../state/sim/variants/v77/portfolio.json | 13 + .../state/sim/variants/v78/portfolio.json | 56 + .../state/sim/variants/v78/trades.jsonl | 2 + .../state/sim/variants/v79/portfolio.json | 13 + .../state/sim/variants/v8/portfolio.json | 13 + .../state/sim/variants/v80/portfolio.json | 56 + .../state/sim/variants/v80/trades.jsonl | 2 + .../state/sim/variants/v81/portfolio.json | 13 + .../state/sim/variants/v82/portfolio.json | 13 + .../state/sim/variants/v83/portfolio.json | 13 + .../state/sim/variants/v84/portfolio.json | 56 + .../state/sim/variants/v84/trades.jsonl | 2 + .../state/sim/variants/v85/portfolio.json | 13 + .../state/sim/variants/v86/portfolio.json | 56 + .../state/sim/variants/v86/trades.jsonl | 2 + .../state/sim/variants/v87/portfolio.json | 13 + .../state/sim/variants/v88/portfolio.json | 13 + .../state/sim/variants/v89/portfolio.json | 13 + .../state/sim/variants/v9/portfolio.json | 13 + .../state/sim/variants/v90/portfolio.json | 35 + .../state/sim/variants/v90/trades.jsonl | 1 + .../state/sim/variants/v91/portfolio.json | 13 + .../state/sim/variants/v92/portfolio.json | 13 + .../state/sim/variants/v93/portfolio.json | 13 + .../state/sim/variants/v94/portfolio.json | 13 + .../state/sim/variants/v95/portfolio.json | 13 + .../state/sim/variants/v96/portfolio.json | 13 + .../state/sim/variants/v97/portfolio.json | 13 + .../state/sim/variants/v98/portfolio.json | 35 + .../state/sim/variants/v98/trades.jsonl | 1 + .../state/sim/variants/v99/portfolio.json | 13 + .../stock/workspace/state/sim/watchlist.json | 282 + 135 files changed, 100940 insertions(+) create mode 100644 agents/stock/workspace/state/sim/backtest_results.json create mode 100644 agents/stock/workspace/state/sim/equity_history.json create mode 100644 agents/stock/workspace/state/sim/favorites.json create mode 100644 agents/stock/workspace/state/sim/index_history.json create mode 100644 agents/stock/workspace/state/sim/params.json create mode 100644 agents/stock/workspace/state/sim/variants.json create mode 100644 agents/stock/workspace/state/sim/variants/v1/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v10/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v100/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v101/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v102/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v103/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v104/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v105/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v106/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v106/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v107/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v108/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v11/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v12/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v13/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v14/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v15/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v16/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v17/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v18/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v19/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v2/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v20/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v21/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v22/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v23/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v24/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v25/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v26/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v27/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v28/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v29/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v3/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v30/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v31/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v32/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v33/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v34/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v35/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v36/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v37/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v38/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v39/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v4/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v40/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v40/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v41/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v42/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v42/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v43/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v44/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v44/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v45/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v46/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v47/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v48/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v48/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v49/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v5/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v50/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v51/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v52/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v53/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v54/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v55/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v56/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v57/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v58/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v59/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v6/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v60/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v61/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v62/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v62/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v63/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v64/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v64/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v65/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v66/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v66/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v67/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v68/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v68/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v69/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v7/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v70/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v70/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v71/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v72/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v72/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v73/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v74/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v74/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v75/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v76/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v76/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v77/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v78/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v78/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v79/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v8/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v80/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v80/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v81/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v82/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v83/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v84/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v84/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v85/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v86/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v86/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v87/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v88/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v89/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v9/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v90/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v90/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v91/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v92/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v93/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v94/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v95/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v96/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v97/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v98/portfolio.json create mode 100644 agents/stock/workspace/state/sim/variants/v98/trades.jsonl create mode 100644 agents/stock/workspace/state/sim/variants/v99/portfolio.json create mode 100644 agents/stock/workspace/state/sim/watchlist.json diff --git a/.gitignore b/.gitignore index d6e380c..c905979 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,18 @@ update-check.json **/state/* !**/state/trade_journal.jsonl !**/state/market_indicators_history.jsonl +# sim 전략 정의·페이퍼 실험 데이터는 추적 (108변이 파라미터·마킹·누적 성적 — 복구 불가, 2026-06-11) +# last_scan·variants_compare(5분 스냅샷)·flow_history.sqlite(백필로 재구축 가능)는 계속 제외 +!**/state/sim/ +**/state/sim/* +!**/state/sim/variants.json +!**/state/sim/params.json +!**/state/sim/favorites.json +!**/state/sim/backtest_results.json +!**/state/sim/equity_history.json +!**/state/sim/watchlist.json +!**/state/sim/index_history.json +!**/state/sim/variants/ /cache/ /locks/ /logs/ diff --git a/agents/stock/workspace/state/sim/backtest_results.json b/agents/stock/workspace/state/sim/backtest_results.json new file mode 100644 index 0000000..82ce003 --- /dev/null +++ b/agents/stock/workspace/state/sim/backtest_results.json @@ -0,0 +1,96833 @@ +{ + "generated_at": "2026-06-10T11:56:34.980848+09:00", + "universe_size": 55, + "swept_params": [ + "SMA_LONG", + "RR_RATIO", + "STOP_ATR_MULT", + "PULLBACK_ATR_MULT", + "VOLUME_BREAKOUT_MULT", + "RSI_OVERBOUGHT", + "RSI_OVERSOLD", + "MAX_HOLD_DAYS", + "RISK_PER_TRADE_PCT" + ], + "grid": { + "SMA_LONG": [ + 10, + 20, + 40 + ], + "RR_RATIO": [ + 1.5, + 2.0, + 3.0 + ], + "STOP_ATR_MULT": [ + 1.5, + 2.0 + ], + "PULLBACK_ATR_MULT": [ + 1.0, + 1.5 + ], + "VOLUME_BREAKOUT_MULT": [ + 1.3, + 2.0 + ], + "RSI_OVERBOUGHT": [ + 75, + 88 + ], + "RSI_OVERSOLD": [ + 20, + 35 + ], + "MAX_HOLD_DAYS": [ + 0, + 20 + ], + "RISK_PER_TRADE_PCT": [ + 0.01, + 0.02 + ] + }, + "split": { + "train": "20250513~20260206", + "test": "20260209~20260609", + "train_frac": 0.7 + }, + "min_trades": 10, + "flow_used": true, + "count": 1152, + "results": [ + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156200451, + "total_return_pct": 56.2, + "cagr_pct": 84.8, + "mdd_pct": 10.07, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 3.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.53 + } + }, + "alpha_pct": -38.9 + }, + "test": { + "final_equity": 142657915, + "total_return_pct": 42.66, + "cagr_pct": 210.59, + "mdd_pct": 8.53, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.83 + } + }, + "alpha_pct": -10.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.65, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.13, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.0, + "trades": 23 + } + ], + "worst_ret": 19.65 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156200451, + "total_return_pct": 56.2, + "cagr_pct": 84.8, + "mdd_pct": 10.07, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 3.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.53 + } + }, + "alpha_pct": -38.9 + }, + "test": { + "final_equity": 142657915, + "total_return_pct": 42.66, + "cagr_pct": 210.59, + "mdd_pct": 8.53, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.83 + } + }, + "alpha_pct": -10.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.65, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.13, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.0, + "trades": 23 + } + ], + "worst_ret": 19.65 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164975378, + "total_return_pct": 64.98, + "cagr_pct": 99.25, + "mdd_pct": 9.17, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 37.0, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.31 + } + }, + "alpha_pct": -30.12 + }, + "test": { + "final_equity": 138014797, + "total_return_pct": 38.01, + "cagr_pct": 179.48, + "mdd_pct": 7.71, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 4.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.18 + } + }, + "alpha_pct": -14.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.37, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.44, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.43, + "trades": 31 + } + ], + "worst_ret": 19.37 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164975378, + "total_return_pct": 64.98, + "cagr_pct": 99.25, + "mdd_pct": 9.17, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 37.0, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.31 + } + }, + "alpha_pct": -30.12 + }, + "test": { + "final_equity": 138014797, + "total_return_pct": 38.01, + "cagr_pct": 179.48, + "mdd_pct": 7.71, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 4.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.18 + } + }, + "alpha_pct": -14.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.37, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.44, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.43, + "trades": 31 + } + ], + "worst_ret": 19.37 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161997837, + "total_return_pct": 62.0, + "cagr_pct": 94.31, + "mdd_pct": 12.03, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 48.4, + "profit_factor": 3.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.1 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.33 + } + }, + "alpha_pct": -33.1 + }, + "test": { + "final_equity": 143810577, + "total_return_pct": 43.81, + "cagr_pct": 218.66, + "mdd_pct": 7.57, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 44.0, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -9.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.98 + } + }, + "alpha_pct": -9.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.03, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.13, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.33, + "trades": 35 + } + ], + "worst_ret": 19.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161997837, + "total_return_pct": 62.0, + "cagr_pct": 94.31, + "mdd_pct": 12.03, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 48.4, + "profit_factor": 3.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.1 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.33 + } + }, + "alpha_pct": -33.1 + }, + "test": { + "final_equity": 143810577, + "total_return_pct": 43.81, + "cagr_pct": 218.66, + "mdd_pct": 7.57, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 44.0, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -9.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.98 + } + }, + "alpha_pct": -9.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.03, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.13, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.33, + "trades": 35 + } + ], + "worst_ret": 19.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 165916472, + "total_return_pct": 65.92, + "cagr_pct": 100.82, + "mdd_pct": 9.13, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 47.4, + "profit_factor": 3.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.18 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.25 + } + }, + "alpha_pct": -29.18 + }, + "test": { + "final_equity": 134293014, + "total_return_pct": 34.29, + "cagr_pct": 156.14, + "mdd_pct": 8.89, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 3.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.46 + } + }, + "alpha_pct": -18.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.03, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.03, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.35, + "trades": 34 + } + ], + "worst_ret": 19.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 165916472, + "total_return_pct": 65.92, + "cagr_pct": 100.82, + "mdd_pct": 9.13, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 47.4, + "profit_factor": 3.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.18 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.25 + } + }, + "alpha_pct": -29.18 + }, + "test": { + "final_equity": 134293014, + "total_return_pct": 34.29, + "cagr_pct": 156.14, + "mdd_pct": 8.89, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 3.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.46 + } + }, + "alpha_pct": -18.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.03, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.03, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.35, + "trades": 34 + } + ], + "worst_ret": 19.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 174200944, + "total_return_pct": 74.2, + "cagr_pct": 114.75, + "mdd_pct": 10.91, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 55.6, + "profit_factor": 5.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -20.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 26.53 + } + }, + "alpha_pct": -20.9 + }, + "test": { + "final_equity": 124193158, + "total_return_pct": 24.19, + "cagr_pct": 99.6, + "mdd_pct": 8.84, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 27.8, + "profit_factor": 3.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.36 + } + }, + "alpha_pct": -28.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.6, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.19, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.86, + "trades": 25 + } + ], + "worst_ret": 18.6 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 174200944, + "total_return_pct": 74.2, + "cagr_pct": 114.75, + "mdd_pct": 10.91, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 55.6, + "profit_factor": 5.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -20.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 26.53 + } + }, + "alpha_pct": -20.9 + }, + "test": { + "final_equity": 124193158, + "total_return_pct": 24.19, + "cagr_pct": 99.6, + "mdd_pct": 8.84, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 27.8, + "profit_factor": 3.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.36 + } + }, + "alpha_pct": -28.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.6, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.19, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.86, + "trades": 25 + } + ], + "worst_ret": 18.6 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155067446, + "total_return_pct": 55.07, + "cagr_pct": 82.96, + "mdd_pct": 10.13, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 51.7, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.4 + } + }, + "alpha_pct": -40.03 + }, + "test": { + "final_equity": 140355657, + "total_return_pct": 40.36, + "cagr_pct": 194.88, + "mdd_pct": 7.65, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 5.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.53 + } + }, + "alpha_pct": -12.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.44, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.29, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.58, + "trades": 24 + } + ], + "worst_ret": 18.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155067446, + "total_return_pct": 55.07, + "cagr_pct": 82.96, + "mdd_pct": 10.13, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 51.7, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.4 + } + }, + "alpha_pct": -40.03 + }, + "test": { + "final_equity": 140355657, + "total_return_pct": 40.36, + "cagr_pct": 194.88, + "mdd_pct": 7.65, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 5.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.53 + } + }, + "alpha_pct": -12.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.44, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.29, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.58, + "trades": 24 + } + ], + "worst_ret": 18.44 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151733268, + "total_return_pct": 51.73, + "cagr_pct": 77.56, + "mdd_pct": 12.6, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.06 + } + }, + "alpha_pct": -43.37 + }, + "test": { + "final_equity": 136554615, + "total_return_pct": 36.55, + "cagr_pct": 170.15, + "mdd_pct": 7.46, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.72 + } + }, + "alpha_pct": -16.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.8, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.29, + "trades": 38 + } + ], + "worst_ret": 18.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151733268, + "total_return_pct": 51.73, + "cagr_pct": 77.56, + "mdd_pct": 12.6, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.06 + } + }, + "alpha_pct": -43.37 + }, + "test": { + "final_equity": 136554615, + "total_return_pct": 36.55, + "cagr_pct": 170.15, + "mdd_pct": 7.46, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.72 + } + }, + "alpha_pct": -16.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.8, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.29, + "trades": 38 + } + ], + "worst_ret": 18.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 151685179, + "total_return_pct": 51.69, + "cagr_pct": 77.49, + "mdd_pct": 11.92, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 3.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.02 + } + }, + "alpha_pct": -43.41 + }, + "test": { + "final_equity": 127733977, + "total_return_pct": 27.73, + "cagr_pct": 118.33, + "mdd_pct": 6.35, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.9 + } + }, + "alpha_pct": -25.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.45, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.17, + "trades": 38 + } + ], + "worst_ret": 18.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 151685179, + "total_return_pct": 51.69, + "cagr_pct": 77.49, + "mdd_pct": 11.92, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 3.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.02 + } + }, + "alpha_pct": -43.41 + }, + "test": { + "final_equity": 127733977, + "total_return_pct": 27.73, + "cagr_pct": 118.33, + "mdd_pct": 6.35, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.9 + } + }, + "alpha_pct": -25.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.45, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.17, + "trades": 38 + } + ], + "worst_ret": 18.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 171224654, + "total_return_pct": 71.22, + "cagr_pct": 109.72, + "mdd_pct": 9.6, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 58.2, + "profit_factor": 6.05, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -23.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.55 + } + }, + "alpha_pct": -23.88 + }, + "test": { + "final_equity": 126024696, + "total_return_pct": 26.02, + "cagr_pct": 109.14, + "mdd_pct": 7.28, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.19 + } + }, + "alpha_pct": -26.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 20.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.1, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.97, + "trades": 35 + } + ], + "worst_ret": 18.1 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 171224654, + "total_return_pct": 71.22, + "cagr_pct": 109.72, + "mdd_pct": 9.6, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 58.2, + "profit_factor": 6.05, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -23.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.55 + } + }, + "alpha_pct": -23.88 + }, + "test": { + "final_equity": 126024696, + "total_return_pct": 26.02, + "cagr_pct": 109.14, + "mdd_pct": 7.28, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.19 + } + }, + "alpha_pct": -26.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 20.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.1, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.97, + "trades": 35 + } + ], + "worst_ret": 18.1 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161910742, + "total_return_pct": 61.91, + "cagr_pct": 94.17, + "mdd_pct": 12.19, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 51.9, + "profit_factor": 4.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.24 + } + }, + "alpha_pct": -33.19 + }, + "test": { + "final_equity": 132304912, + "total_return_pct": 32.3, + "cagr_pct": 144.24, + "mdd_pct": 7.38, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 47.6, + "profit_factor": 4.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.47 + } + }, + "alpha_pct": -20.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.02, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.29, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.52, + "trades": 31 + } + ], + "worst_ret": 18.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161910742, + "total_return_pct": 61.91, + "cagr_pct": 94.17, + "mdd_pct": 12.19, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 51.9, + "profit_factor": 4.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.24 + } + }, + "alpha_pct": -33.19 + }, + "test": { + "final_equity": 132304912, + "total_return_pct": 32.3, + "cagr_pct": 144.24, + "mdd_pct": 7.38, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 47.6, + "profit_factor": 4.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.47 + } + }, + "alpha_pct": -20.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.02, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.29, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.52, + "trades": 31 + } + ], + "worst_ret": 18.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158273539, + "total_return_pct": 58.27, + "cagr_pct": 88.19, + "mdd_pct": 10.15, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 53.1, + "profit_factor": 4.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.6 + } + }, + "alpha_pct": -36.83 + }, + "test": { + "final_equity": 127858542, + "total_return_pct": 27.86, + "cagr_pct": 119.01, + "mdd_pct": 9.19, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 3.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.03 + } + }, + "alpha_pct": -24.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.02, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.08, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.61, + "trades": 28 + } + ], + "worst_ret": 18.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158273539, + "total_return_pct": 58.27, + "cagr_pct": 88.19, + "mdd_pct": 10.15, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 53.1, + "profit_factor": 4.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.6 + } + }, + "alpha_pct": -36.83 + }, + "test": { + "final_equity": 127858542, + "total_return_pct": 27.86, + "cagr_pct": 119.01, + "mdd_pct": 9.19, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 3.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.03 + } + }, + "alpha_pct": -24.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.02, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.08, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.61, + "trades": 28 + } + ], + "worst_ret": 18.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 171023912, + "total_return_pct": 71.02, + "cagr_pct": 109.38, + "mdd_pct": 9.52, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 58.2, + "profit_factor": 5.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.35 + } + }, + "alpha_pct": -24.08 + }, + "test": { + "final_equity": 130958031, + "total_return_pct": 30.96, + "cagr_pct": 136.39, + "mdd_pct": 7.85, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.13 + } + }, + "alpha_pct": -21.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 20.52, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.0, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.48, + "trades": 35 + } + ], + "worst_ret": 18.0 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 171023912, + "total_return_pct": 71.02, + "cagr_pct": 109.38, + "mdd_pct": 9.52, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 58.2, + "profit_factor": 5.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.35 + } + }, + "alpha_pct": -24.08 + }, + "test": { + "final_equity": 130958031, + "total_return_pct": 30.96, + "cagr_pct": 136.39, + "mdd_pct": 7.85, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.13 + } + }, + "alpha_pct": -21.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 20.52, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.0, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.48, + "trades": 35 + } + ], + "worst_ret": 18.0 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 167701876, + "total_return_pct": 67.7, + "cagr_pct": 103.8, + "mdd_pct": 12.31, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 52.7, + "profit_factor": 5.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.03 + } + }, + "alpha_pct": -27.4 + }, + "test": { + "final_equity": 126430268, + "total_return_pct": 26.43, + "cagr_pct": 111.3, + "mdd_pct": 7.26, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.6 + } + }, + "alpha_pct": -26.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.74, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.46, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.32, + "trades": 35 + } + ], + "worst_ret": 17.74 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 167701876, + "total_return_pct": 67.7, + "cagr_pct": 103.8, + "mdd_pct": 12.31, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 52.7, + "profit_factor": 5.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.03 + } + }, + "alpha_pct": -27.4 + }, + "test": { + "final_equity": 126430268, + "total_return_pct": 26.43, + "cagr_pct": 111.3, + "mdd_pct": 7.26, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.6 + } + }, + "alpha_pct": -26.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.74, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.46, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.32, + "trades": 35 + } + ], + "worst_ret": 17.74 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158583648, + "total_return_pct": 58.58, + "cagr_pct": 88.7, + "mdd_pct": 9.77, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 50.8, + "profit_factor": 4.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.91 + } + }, + "alpha_pct": -36.52 + }, + "test": { + "final_equity": 135733266, + "total_return_pct": 35.73, + "cagr_pct": 165.0, + "mdd_pct": 7.53, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.9 + } + }, + "alpha_pct": -17.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.41, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.72, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 49.24, + "trades": 27 + } + ], + "worst_ret": 17.72 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158583648, + "total_return_pct": 58.58, + "cagr_pct": 88.7, + "mdd_pct": 9.77, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 50.8, + "profit_factor": 4.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.91 + } + }, + "alpha_pct": -36.52 + }, + "test": { + "final_equity": 135733266, + "total_return_pct": 35.73, + "cagr_pct": 165.0, + "mdd_pct": 7.53, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.9 + } + }, + "alpha_pct": -17.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.41, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.72, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 49.24, + "trades": 27 + } + ], + "worst_ret": 17.72 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 165667298, + "total_return_pct": 65.67, + "cagr_pct": 100.4, + "mdd_pct": 9.9, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 42.4, + "profit_factor": 3.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.0 + } + }, + "alpha_pct": -29.43 + }, + "test": { + "final_equity": 138643359, + "total_return_pct": 38.64, + "cagr_pct": 183.56, + "mdd_pct": 8.73, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 3.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.81 + } + }, + "alpha_pct": -14.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.69, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.54, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.78, + "trades": 30 + } + ], + "worst_ret": 17.69 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 165667298, + "total_return_pct": 65.67, + "cagr_pct": 100.4, + "mdd_pct": 9.9, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 42.4, + "profit_factor": 3.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.0 + } + }, + "alpha_pct": -29.43 + }, + "test": { + "final_equity": 138643359, + "total_return_pct": 38.64, + "cagr_pct": 183.56, + "mdd_pct": 8.73, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 3.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.81 + } + }, + "alpha_pct": -14.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.69, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.54, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.78, + "trades": 30 + } + ], + "worst_ret": 17.69 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 165958757, + "total_return_pct": 65.96, + "cagr_pct": 100.89, + "mdd_pct": 10.05, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.29 + } + }, + "alpha_pct": -29.14 + }, + "test": { + "final_equity": 118514299, + "total_return_pct": 18.51, + "cagr_pct": 71.92, + "mdd_pct": 8.68, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 25.0, + "profit_factor": 2.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -34.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 32.68 + } + }, + "alpha_pct": -34.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.66, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.58, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.72, + "trades": 32 + } + ], + "worst_ret": 17.66 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 165958757, + "total_return_pct": 65.96, + "cagr_pct": 100.89, + "mdd_pct": 10.05, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.29 + } + }, + "alpha_pct": -29.14 + }, + "test": { + "final_equity": 118514299, + "total_return_pct": 18.51, + "cagr_pct": 71.92, + "mdd_pct": 8.68, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 25.0, + "profit_factor": 2.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -34.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 32.68 + } + }, + "alpha_pct": -34.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.66, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.58, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.72, + "trades": 32 + } + ], + "worst_ret": 17.66 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 167527946, + "total_return_pct": 67.53, + "cagr_pct": 103.51, + "mdd_pct": 12.12, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 52.7, + "profit_factor": 5.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 19.86 + } + }, + "alpha_pct": -27.57 + }, + "test": { + "final_equity": 131498343, + "total_return_pct": 31.5, + "cagr_pct": 139.52, + "mdd_pct": 7.83, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.33 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.67 + } + }, + "alpha_pct": -21.33 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.6, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.18, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.68, + "trades": 35 + } + ], + "worst_ret": 17.6 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 167527946, + "total_return_pct": 67.53, + "cagr_pct": 103.51, + "mdd_pct": 12.12, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 52.7, + "profit_factor": 5.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 19.86 + } + }, + "alpha_pct": -27.57 + }, + "test": { + "final_equity": 131498343, + "total_return_pct": 31.5, + "cagr_pct": 139.52, + "mdd_pct": 7.83, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 50.0, + "profit_factor": 4.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.33 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.67 + } + }, + "alpha_pct": -21.33 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.6, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.18, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.68, + "trades": 35 + } + ], + "worst_ret": 17.6 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164793236, + "total_return_pct": 64.79, + "cagr_pct": 98.95, + "mdd_pct": 10.07, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.12 + } + }, + "alpha_pct": -30.31 + }, + "test": { + "final_equity": 123782605, + "total_return_pct": 23.78, + "cagr_pct": 97.5, + "mdd_pct": 9.45, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 25.0, + "profit_factor": 2.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.95 + } + }, + "alpha_pct": -29.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.53, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.41, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 43.25, + "trades": 32 + } + ], + "worst_ret": 17.53 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164793236, + "total_return_pct": 64.79, + "cagr_pct": 98.95, + "mdd_pct": 10.07, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.12 + } + }, + "alpha_pct": -30.31 + }, + "test": { + "final_equity": 123782605, + "total_return_pct": 23.78, + "cagr_pct": 97.5, + "mdd_pct": 9.45, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 25.0, + "profit_factor": 2.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.95 + } + }, + "alpha_pct": -29.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.53, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.41, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 43.25, + "trades": 32 + } + ], + "worst_ret": 17.53 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153020480, + "total_return_pct": 53.02, + "cagr_pct": 79.64, + "mdd_pct": 9.89, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 4.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.35 + } + }, + "alpha_pct": -42.08 + }, + "test": { + "final_equity": 127637477, + "total_return_pct": 27.64, + "cagr_pct": 117.8, + "mdd_pct": 7.1, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 5.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.81 + } + }, + "alpha_pct": -25.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.49, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.4, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.77, + "trades": 23 + } + ], + "worst_ret": 17.49 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153020480, + "total_return_pct": 53.02, + "cagr_pct": 79.64, + "mdd_pct": 9.89, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 4.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.35 + } + }, + "alpha_pct": -42.08 + }, + "test": { + "final_equity": 127637477, + "total_return_pct": 27.64, + "cagr_pct": 117.8, + "mdd_pct": 7.1, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 5.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.81 + } + }, + "alpha_pct": -25.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.49, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.4, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.77, + "trades": 23 + } + ], + "worst_ret": 17.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155470939, + "total_return_pct": 55.47, + "cagr_pct": 83.62, + "mdd_pct": 9.78, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 43.4, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.63 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.8 + } + }, + "alpha_pct": -39.63 + }, + "test": { + "final_equity": 126542295, + "total_return_pct": 26.54, + "cagr_pct": 111.89, + "mdd_pct": 6.11, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 3.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.71 + } + }, + "alpha_pct": -26.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.49, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.03, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.36, + "trades": 41 + } + ], + "worst_ret": 17.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155470939, + "total_return_pct": 55.47, + "cagr_pct": 83.62, + "mdd_pct": 9.78, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 43.4, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.63 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.8 + } + }, + "alpha_pct": -39.63 + }, + "test": { + "final_equity": 126542295, + "total_return_pct": 26.54, + "cagr_pct": 111.89, + "mdd_pct": 6.11, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 3.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.71 + } + }, + "alpha_pct": -26.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.49, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.03, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.36, + "trades": 41 + } + ], + "worst_ret": 17.49 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151976668, + "total_return_pct": 51.98, + "cagr_pct": 77.96, + "mdd_pct": 12.07, + "trades": 60, + "open_positions": 5, + "win_rate_pct": 53.3, + "profit_factor": 4.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.31 + } + }, + "alpha_pct": -43.12 + }, + "test": { + "final_equity": 140947253, + "total_return_pct": 40.95, + "cagr_pct": 198.86, + "mdd_pct": 7.48, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.12 + } + }, + "alpha_pct": -11.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.44, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.48, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.8, + "trades": 25 + } + ], + "worst_ret": 17.48 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151976668, + "total_return_pct": 51.98, + "cagr_pct": 77.96, + "mdd_pct": 12.07, + "trades": 60, + "open_positions": 5, + "win_rate_pct": 53.3, + "profit_factor": 4.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.31 + } + }, + "alpha_pct": -43.12 + }, + "test": { + "final_equity": 140947253, + "total_return_pct": 40.95, + "cagr_pct": 198.86, + "mdd_pct": 7.48, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.12 + } + }, + "alpha_pct": -11.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.44, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.48, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.8, + "trades": 25 + } + ], + "worst_ret": 17.48 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154729020, + "total_return_pct": 54.73, + "cagr_pct": 82.41, + "mdd_pct": 10.38, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 43.4, + "profit_factor": 3.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.06 + } + }, + "alpha_pct": -40.37 + }, + "test": { + "final_equity": 130546625, + "total_return_pct": 30.55, + "cagr_pct": 134.03, + "mdd_pct": 7.12, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 3.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.72 + } + }, + "alpha_pct": -22.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.31, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.19, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.11, + "trades": 41 + } + ], + "worst_ret": 17.31 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154729020, + "total_return_pct": 54.73, + "cagr_pct": 82.41, + "mdd_pct": 10.38, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 43.4, + "profit_factor": 3.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.06 + } + }, + "alpha_pct": -40.37 + }, + "test": { + "final_equity": 130546625, + "total_return_pct": 30.55, + "cagr_pct": 134.03, + "mdd_pct": 7.12, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 3.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.72 + } + }, + "alpha_pct": -22.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.31, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.19, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.11, + "trades": 41 + } + ], + "worst_ret": 17.31 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 157168546, + "total_return_pct": 57.17, + "cagr_pct": 86.38, + "mdd_pct": 10.11, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 50.7, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.5 + } + }, + "alpha_pct": -37.93 + }, + "test": { + "final_equity": 139992681, + "total_return_pct": 39.99, + "cagr_pct": 192.45, + "mdd_pct": 8.63, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 4.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.16 + } + }, + "alpha_pct": -12.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.2, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.72, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 48.42, + "trades": 29 + } + ], + "worst_ret": 17.2 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 157168546, + "total_return_pct": 57.17, + "cagr_pct": 86.38, + "mdd_pct": 10.11, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 50.7, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.5 + } + }, + "alpha_pct": -37.93 + }, + "test": { + "final_equity": 139992681, + "total_return_pct": 39.99, + "cagr_pct": 192.45, + "mdd_pct": 8.63, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 4.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.16 + } + }, + "alpha_pct": -12.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.2, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.72, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 48.42, + "trades": 29 + } + ], + "worst_ret": 17.2 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156296595, + "total_return_pct": 56.3, + "cagr_pct": 84.96, + "mdd_pct": 11.27, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 32.8, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.63 + } + }, + "alpha_pct": -38.8 + }, + "test": { + "final_equity": 139189770, + "total_return_pct": 39.19, + "cagr_pct": 187.14, + "mdd_pct": 9.2, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 4.69, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.36 + } + }, + "alpha_pct": -13.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.92, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.5, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.93, + "trades": 31 + } + ], + "worst_ret": 16.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156296595, + "total_return_pct": 56.3, + "cagr_pct": 84.96, + "mdd_pct": 11.27, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 32.8, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.63 + } + }, + "alpha_pct": -38.8 + }, + "test": { + "final_equity": 139189770, + "total_return_pct": 39.19, + "cagr_pct": 187.14, + "mdd_pct": 9.2, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 4.69, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.36 + } + }, + "alpha_pct": -13.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.92, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.5, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.93, + "trades": 31 + } + ], + "worst_ret": 16.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150968363, + "total_return_pct": 50.97, + "cagr_pct": 76.33, + "mdd_pct": 11.96, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 2.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.3 + } + }, + "alpha_pct": -44.13 + }, + "test": { + "final_equity": 138054898, + "total_return_pct": 38.05, + "cagr_pct": 179.74, + "mdd_pct": 7.33, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 5.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.22 + } + }, + "alpha_pct": -14.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.92, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.56, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.53, + "trades": 33 + } + ], + "worst_ret": 16.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150968363, + "total_return_pct": 50.97, + "cagr_pct": 76.33, + "mdd_pct": 11.96, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 2.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.3 + } + }, + "alpha_pct": -44.13 + }, + "test": { + "final_equity": 138054898, + "total_return_pct": 38.05, + "cagr_pct": 179.74, + "mdd_pct": 7.33, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 5.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.22 + } + }, + "alpha_pct": -14.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.92, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.56, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.53, + "trades": 33 + } + ], + "worst_ret": 16.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155224484, + "total_return_pct": 55.22, + "cagr_pct": 83.22, + "mdd_pct": 9.5, + "trades": 59, + "open_positions": 8, + "win_rate_pct": 37.3, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.55 + } + }, + "alpha_pct": -39.88 + }, + "test": { + "final_equity": 134597101, + "total_return_pct": 34.6, + "cagr_pct": 157.99, + "mdd_pct": 7.84, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.77 + } + }, + "alpha_pct": -18.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.92, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.63, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.0, + "trades": 34 + } + ], + "worst_ret": 16.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155224484, + "total_return_pct": 55.22, + "cagr_pct": 83.22, + "mdd_pct": 9.5, + "trades": 59, + "open_positions": 8, + "win_rate_pct": 37.3, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.55 + } + }, + "alpha_pct": -39.88 + }, + "test": { + "final_equity": 134597101, + "total_return_pct": 34.6, + "cagr_pct": 157.99, + "mdd_pct": 7.84, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.77 + } + }, + "alpha_pct": -18.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.92, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.63, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.0, + "trades": 34 + } + ], + "worst_ret": 16.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 151962196, + "total_return_pct": 51.96, + "cagr_pct": 77.93, + "mdd_pct": 9.95, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 51.7, + "profit_factor": 4.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.29 + } + }, + "alpha_pct": -43.14 + }, + "test": { + "final_equity": 126043029, + "total_return_pct": 26.04, + "cagr_pct": 109.24, + "mdd_pct": 5.92, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 4.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.21 + } + }, + "alpha_pct": -26.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.46, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.57, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.88, + "trades": 24 + } + ], + "worst_ret": 16.46 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 151962196, + "total_return_pct": 51.96, + "cagr_pct": 77.93, + "mdd_pct": 9.95, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 51.7, + "profit_factor": 4.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.29 + } + }, + "alpha_pct": -43.14 + }, + "test": { + "final_equity": 126043029, + "total_return_pct": 26.04, + "cagr_pct": 109.24, + "mdd_pct": 5.92, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 4.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.21 + } + }, + "alpha_pct": -26.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.46, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.57, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.88, + "trades": 24 + } + ], + "worst_ret": 16.46 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149886955, + "total_return_pct": 49.89, + "cagr_pct": 74.6, + "mdd_pct": 11.22, + "trades": 60, + "open_positions": 5, + "win_rate_pct": 53.3, + "profit_factor": 4.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.22 + } + }, + "alpha_pct": -45.21 + }, + "test": { + "final_equity": 126001406, + "total_return_pct": 26.0, + "cagr_pct": 109.02, + "mdd_pct": 5.32, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.17 + } + }, + "alpha_pct": -26.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.46, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.2, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.32, + "trades": 25 + } + ], + "worst_ret": 16.46 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149886955, + "total_return_pct": 49.89, + "cagr_pct": 74.6, + "mdd_pct": 11.22, + "trades": 60, + "open_positions": 5, + "win_rate_pct": 53.3, + "profit_factor": 4.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.22 + } + }, + "alpha_pct": -45.21 + }, + "test": { + "final_equity": 126001406, + "total_return_pct": 26.0, + "cagr_pct": 109.02, + "mdd_pct": 5.32, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.17 + } + }, + "alpha_pct": -26.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.46, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.2, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.32, + "trades": 25 + } + ], + "worst_ret": 16.46 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163081259, + "total_return_pct": 63.08, + "cagr_pct": 96.11, + "mdd_pct": 9.14, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 37.0, + "profit_factor": 4.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.41 + } + }, + "alpha_pct": -32.02 + }, + "test": { + "final_equity": 122527264, + "total_return_pct": 22.53, + "cagr_pct": 91.18, + "mdd_pct": 5.5, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 3.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.7 + } + }, + "alpha_pct": -30.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.27, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.02, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.62, + "trades": 31 + } + ], + "worst_ret": 16.27 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163081259, + "total_return_pct": 63.08, + "cagr_pct": 96.11, + "mdd_pct": 9.14, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 37.0, + "profit_factor": 4.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.41 + } + }, + "alpha_pct": -32.02 + }, + "test": { + "final_equity": 122527264, + "total_return_pct": 22.53, + "cagr_pct": 91.18, + "mdd_pct": 5.5, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 3.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.7 + } + }, + "alpha_pct": -30.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.27, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.02, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.62, + "trades": 31 + } + ], + "worst_ret": 16.27 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155309519, + "total_return_pct": 55.31, + "cagr_pct": 83.35, + "mdd_pct": 10.07, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 47.1, + "profit_factor": 3.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.64 + } + }, + "alpha_pct": -39.79 + }, + "test": { + "final_equity": 131666462, + "total_return_pct": 31.67, + "cagr_pct": 140.5, + "mdd_pct": 6.78, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 4.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.84 + } + }, + "alpha_pct": -21.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.17, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.28, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.97, + "trades": 29 + } + ], + "worst_ret": 16.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155309519, + "total_return_pct": 55.31, + "cagr_pct": 83.35, + "mdd_pct": 10.07, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 47.1, + "profit_factor": 3.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.64 + } + }, + "alpha_pct": -39.79 + }, + "test": { + "final_equity": 131666462, + "total_return_pct": 31.67, + "cagr_pct": 140.5, + "mdd_pct": 6.78, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 4.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.84 + } + }, + "alpha_pct": -21.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.17, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.28, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.97, + "trades": 29 + } + ], + "worst_ret": 16.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155770824, + "total_return_pct": 55.77, + "cagr_pct": 84.1, + "mdd_pct": 10.06, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 47.1, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.1 + } + }, + "alpha_pct": -39.33 + }, + "test": { + "final_equity": 133330148, + "total_return_pct": 33.33, + "cagr_pct": 150.33, + "mdd_pct": 7.64, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 3.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.5 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.5 + } + }, + "alpha_pct": -19.5 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.16, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.97, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.35, + "trades": 29 + } + ], + "worst_ret": 16.16 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155770824, + "total_return_pct": 55.77, + "cagr_pct": 84.1, + "mdd_pct": 10.06, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 47.1, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.1 + } + }, + "alpha_pct": -39.33 + }, + "test": { + "final_equity": 133330148, + "total_return_pct": 33.33, + "cagr_pct": 150.33, + "mdd_pct": 7.64, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 3.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.5 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.5 + } + }, + "alpha_pct": -19.5 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.16, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.97, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.35, + "trades": 29 + } + ], + "worst_ret": 16.16 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 159584978, + "total_return_pct": 59.58, + "cagr_pct": 90.34, + "mdd_pct": 12.08, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 42.3, + "profit_factor": 3.69, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -35.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.91 + } + }, + "alpha_pct": -35.52 + }, + "test": { + "final_equity": 127682130, + "total_return_pct": 27.68, + "cagr_pct": 118.04, + "mdd_pct": 6.08, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 4.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.15 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.85 + } + }, + "alpha_pct": -25.15 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.12, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.47, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.57, + "trades": 41 + } + ], + "worst_ret": 16.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 159584978, + "total_return_pct": 59.58, + "cagr_pct": 90.34, + "mdd_pct": 12.08, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 42.3, + "profit_factor": 3.69, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -35.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.91 + } + }, + "alpha_pct": -35.52 + }, + "test": { + "final_equity": 127682130, + "total_return_pct": 27.68, + "cagr_pct": 118.04, + "mdd_pct": 6.08, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 4.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.15 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.85 + } + }, + "alpha_pct": -25.15 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.12, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.47, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.57, + "trades": 41 + } + ], + "worst_ret": 16.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153927473, + "total_return_pct": 53.93, + "cagr_pct": 81.11, + "mdd_pct": 9.99, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.26 + } + }, + "alpha_pct": -41.17 + }, + "test": { + "final_equity": 122175136, + "total_return_pct": 22.18, + "cagr_pct": 89.44, + "mdd_pct": 8.29, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 25.9, + "profit_factor": 2.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.35 + } + }, + "alpha_pct": -30.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.03, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.01, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.62, + "trades": 39 + } + ], + "worst_ret": 16.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153927473, + "total_return_pct": 53.93, + "cagr_pct": 81.11, + "mdd_pct": 9.99, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.26 + } + }, + "alpha_pct": -41.17 + }, + "test": { + "final_equity": 122175136, + "total_return_pct": 22.18, + "cagr_pct": 89.44, + "mdd_pct": 8.29, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 25.9, + "profit_factor": 2.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.35 + } + }, + "alpha_pct": -30.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.03, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.01, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.62, + "trades": 39 + } + ], + "worst_ret": 16.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158972800, + "total_return_pct": 58.97, + "cagr_pct": 89.34, + "mdd_pct": 12.0, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 42.3, + "profit_factor": 3.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.3 + } + }, + "alpha_pct": -36.13 + }, + "test": { + "final_equity": 132475928, + "total_return_pct": 32.48, + "cagr_pct": 145.25, + "mdd_pct": 7.05, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 3.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.65 + } + }, + "alpha_pct": -20.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.99, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.6, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.33, + "trades": 41 + } + ], + "worst_ret": 15.99 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158972800, + "total_return_pct": 58.97, + "cagr_pct": 89.34, + "mdd_pct": 12.0, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 42.3, + "profit_factor": 3.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.3 + } + }, + "alpha_pct": -36.13 + }, + "test": { + "final_equity": 132475928, + "total_return_pct": 32.48, + "cagr_pct": 145.25, + "mdd_pct": 7.05, + "trades": 25, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 3.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.65 + } + }, + "alpha_pct": -20.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.99, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.6, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.33, + "trades": 41 + } + ], + "worst_ret": 15.99 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152463890, + "total_return_pct": 52.46, + "cagr_pct": 78.74, + "mdd_pct": 9.75, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 50.8, + "profit_factor": 4.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.79 + } + }, + "alpha_pct": -42.64 + }, + "test": { + "final_equity": 124067343, + "total_return_pct": 24.07, + "cagr_pct": 98.96, + "mdd_pct": 5.68, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.24 + } + }, + "alpha_pct": -28.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.98, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.76, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.19, + "trades": 27 + } + ], + "worst_ret": 15.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152463890, + "total_return_pct": 52.46, + "cagr_pct": 78.74, + "mdd_pct": 9.75, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 50.8, + "profit_factor": 4.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.79 + } + }, + "alpha_pct": -42.64 + }, + "test": { + "final_equity": 124067343, + "total_return_pct": 24.07, + "cagr_pct": 98.96, + "mdd_pct": 5.68, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.24 + } + }, + "alpha_pct": -28.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.98, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.76, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.19, + "trades": 27 + } + ], + "worst_ret": 15.98 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147676507, + "total_return_pct": 47.68, + "cagr_pct": 71.06, + "mdd_pct": 11.26, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.01 + } + }, + "alpha_pct": -47.42 + }, + "test": { + "final_equity": 133916134, + "total_return_pct": 33.92, + "cagr_pct": 153.85, + "mdd_pct": 9.26, + "trades": 27, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 3.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.09 + } + }, + "alpha_pct": -18.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.35, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.64, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147676507, + "total_return_pct": 47.68, + "cagr_pct": 71.06, + "mdd_pct": 11.26, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.01 + } + }, + "alpha_pct": -47.42 + }, + "test": { + "final_equity": 133916134, + "total_return_pct": 33.92, + "cagr_pct": 153.85, + "mdd_pct": 9.26, + "trades": 27, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 3.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.09 + } + }, + "alpha_pct": -18.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.35, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.64, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146640458, + "total_return_pct": 46.64, + "cagr_pct": 69.41, + "mdd_pct": 12.77, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 32.0, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.03 + } + }, + "alpha_pct": -48.46 + }, + "test": { + "final_equity": 129022875, + "total_return_pct": 29.02, + "cagr_pct": 125.43, + "mdd_pct": 8.13, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.19 + } + }, + "alpha_pct": -23.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.96, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.76, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146640458, + "total_return_pct": 46.64, + "cagr_pct": 69.41, + "mdd_pct": 12.77, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 32.0, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.03 + } + }, + "alpha_pct": -48.46 + }, + "test": { + "final_equity": 129022875, + "total_return_pct": 29.02, + "cagr_pct": 125.43, + "mdd_pct": 8.13, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.19 + } + }, + "alpha_pct": -23.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.96, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.76, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149355769, + "total_return_pct": 49.36, + "cagr_pct": 73.74, + "mdd_pct": 11.24, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.69 + } + }, + "alpha_pct": -45.74 + }, + "test": { + "final_equity": 125290365, + "total_return_pct": 25.29, + "cagr_pct": 105.28, + "mdd_pct": 7.47, + "trades": 27, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 3.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.46 + } + }, + "alpha_pct": -27.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.25, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.4, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149355769, + "total_return_pct": 49.36, + "cagr_pct": 73.74, + "mdd_pct": 11.24, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.69 + } + }, + "alpha_pct": -45.74 + }, + "test": { + "final_equity": 125290365, + "total_return_pct": 25.29, + "cagr_pct": 105.28, + "mdd_pct": 7.47, + "trades": 27, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 3.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.46 + } + }, + "alpha_pct": -27.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.25, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.4, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146715148, + "total_return_pct": 46.72, + "cagr_pct": 69.53, + "mdd_pct": 12.02, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 32.0, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.38 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.95 + } + }, + "alpha_pct": -48.38 + }, + "test": { + "final_equity": 123339465, + "total_return_pct": 23.34, + "cagr_pct": 95.26, + "mdd_pct": 5.88, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.51 + } + }, + "alpha_pct": -29.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.6, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.54, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146715148, + "total_return_pct": 46.72, + "cagr_pct": 69.53, + "mdd_pct": 12.02, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 32.0, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.38 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.95 + } + }, + "alpha_pct": -48.38 + }, + "test": { + "final_equity": 123339465, + "total_return_pct": 23.34, + "cagr_pct": 95.26, + "mdd_pct": 5.88, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.51 + } + }, + "alpha_pct": -29.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.96, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.6, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.54, + "trades": 38 + } + ], + "worst_ret": 15.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 156489258, + "total_return_pct": 56.49, + "cagr_pct": 85.27, + "mdd_pct": 11.52, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 48.4, + "profit_factor": 4.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.82 + } + }, + "alpha_pct": -38.61 + }, + "test": { + "final_equity": 127329876, + "total_return_pct": 27.33, + "cagr_pct": 116.13, + "mdd_pct": 5.68, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 44.0, + "profit_factor": 5.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.5 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.5 + } + }, + "alpha_pct": -25.5 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.94, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.28, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.83, + "trades": 35 + } + ], + "worst_ret": 15.94 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 156489258, + "total_return_pct": 56.49, + "cagr_pct": 85.27, + "mdd_pct": 11.52, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 48.4, + "profit_factor": 4.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.82 + } + }, + "alpha_pct": -38.61 + }, + "test": { + "final_equity": 127329876, + "total_return_pct": 27.33, + "cagr_pct": 116.13, + "mdd_pct": 5.68, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 44.0, + "profit_factor": 5.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.5 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.5 + } + }, + "alpha_pct": -25.5 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.94, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.28, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.83, + "trades": 35 + } + ], + "worst_ret": 15.94 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163661867, + "total_return_pct": 63.66, + "cagr_pct": 97.07, + "mdd_pct": 9.56, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 47.4, + "profit_factor": 4.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.99 + } + }, + "alpha_pct": -31.44 + }, + "test": { + "final_equity": 119383472, + "total_return_pct": 19.38, + "cagr_pct": 75.97, + "mdd_pct": 6.31, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.55 + } + }, + "alpha_pct": -33.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.94, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.46, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.98, + "trades": 34 + } + ], + "worst_ret": 15.94 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163661867, + "total_return_pct": 63.66, + "cagr_pct": 97.07, + "mdd_pct": 9.56, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 47.4, + "profit_factor": 4.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.99 + } + }, + "alpha_pct": -31.44 + }, + "test": { + "final_equity": 119383472, + "total_return_pct": 19.38, + "cagr_pct": 75.97, + "mdd_pct": 6.31, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.55 + } + }, + "alpha_pct": -33.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.94, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.46, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.98, + "trades": 34 + } + ], + "worst_ret": 15.94 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152848241, + "total_return_pct": 52.85, + "cagr_pct": 79.36, + "mdd_pct": 10.86, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.18 + } + }, + "alpha_pct": -42.25 + }, + "test": { + "final_equity": 127937411, + "total_return_pct": 27.94, + "cagr_pct": 119.44, + "mdd_pct": 10.54, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 25.9, + "profit_factor": 2.5, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.89 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.11 + } + }, + "alpha_pct": -24.89 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.9, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.38, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.52, + "trades": 39 + } + ], + "worst_ret": 15.9 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152848241, + "total_return_pct": 52.85, + "cagr_pct": 79.36, + "mdd_pct": 10.86, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.18 + } + }, + "alpha_pct": -42.25 + }, + "test": { + "final_equity": 127937411, + "total_return_pct": 27.94, + "cagr_pct": 119.44, + "mdd_pct": 10.54, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 25.9, + "profit_factor": 2.5, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.89 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.11 + } + }, + "alpha_pct": -24.89 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.9, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.38, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.52, + "trades": 39 + } + ], + "worst_ret": 15.9 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 170825477, + "total_return_pct": 70.83, + "cagr_pct": 109.04, + "mdd_pct": 10.59, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 53.2, + "profit_factor": 6.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.16 + } + }, + "alpha_pct": -24.27 + }, + "test": { + "final_equity": 134553704, + "total_return_pct": 34.55, + "cagr_pct": 157.73, + "mdd_pct": 7.01, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 4.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.72 + } + }, + "alpha_pct": -18.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.08, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.78, + "trades": 27 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 170825477, + "total_return_pct": 70.83, + "cagr_pct": 109.04, + "mdd_pct": 10.59, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 53.2, + "profit_factor": 6.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.16 + } + }, + "alpha_pct": -24.27 + }, + "test": { + "final_equity": 134553704, + "total_return_pct": 34.55, + "cagr_pct": 157.73, + "mdd_pct": 7.01, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 4.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.72 + } + }, + "alpha_pct": -18.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.08, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.78, + "trades": 27 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 163373975, + "total_return_pct": 63.37, + "cagr_pct": 96.59, + "mdd_pct": 11.12, + "trades": 52, + "open_positions": 8, + "win_rate_pct": 48.1, + "profit_factor": 5.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.7 + } + }, + "alpha_pct": -31.73 + }, + "test": { + "final_equity": 133278140, + "total_return_pct": 33.28, + "cagr_pct": 150.01, + "mdd_pct": 7.08, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.45 + } + }, + "alpha_pct": -19.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.75, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.13, + "trades": 29 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 163373975, + "total_return_pct": 63.37, + "cagr_pct": 96.59, + "mdd_pct": 11.12, + "trades": 52, + "open_positions": 8, + "win_rate_pct": 48.1, + "profit_factor": 5.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.7 + } + }, + "alpha_pct": -31.73 + }, + "test": { + "final_equity": 133278140, + "total_return_pct": 33.28, + "cagr_pct": 150.01, + "mdd_pct": 7.08, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.45 + } + }, + "alpha_pct": -19.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.75, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.13, + "trades": 29 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 170873916, + "total_return_pct": 70.87, + "cagr_pct": 109.13, + "mdd_pct": 10.69, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 53.2, + "profit_factor": 6.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.2 + } + }, + "alpha_pct": -24.23 + }, + "test": { + "final_equity": 128974090, + "total_return_pct": 28.97, + "cagr_pct": 125.16, + "mdd_pct": 5.99, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.14 + } + }, + "alpha_pct": -23.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.81, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.1, + "trades": 27 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 170873916, + "total_return_pct": 70.87, + "cagr_pct": 109.13, + "mdd_pct": 10.69, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 53.2, + "profit_factor": 6.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.2 + } + }, + "alpha_pct": -24.23 + }, + "test": { + "final_equity": 128974090, + "total_return_pct": 28.97, + "cagr_pct": 125.16, + "mdd_pct": 5.99, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.14 + } + }, + "alpha_pct": -23.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.81, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.1, + "trades": 27 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 162844157, + "total_return_pct": 62.84, + "cagr_pct": 95.71, + "mdd_pct": 11.5, + "trades": 52, + "open_positions": 8, + "win_rate_pct": 48.1, + "profit_factor": 5.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.17 + } + }, + "alpha_pct": -32.26 + }, + "test": { + "final_equity": 128537840, + "total_return_pct": 28.54, + "cagr_pct": 122.74, + "mdd_pct": 6.04, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.71 + } + }, + "alpha_pct": -24.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.8, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.9, + "trades": 29 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 162844157, + "total_return_pct": 62.84, + "cagr_pct": 95.71, + "mdd_pct": 11.5, + "trades": 52, + "open_positions": 8, + "win_rate_pct": 48.1, + "profit_factor": 5.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.17 + } + }, + "alpha_pct": -32.26 + }, + "test": { + "final_equity": 128537840, + "total_return_pct": 28.54, + "cagr_pct": 122.74, + "mdd_pct": 6.04, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.71 + } + }, + "alpha_pct": -24.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.89, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.8, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.9, + "trades": 29 + } + ], + "worst_ret": 15.89 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 157450258, + "total_return_pct": 57.45, + "cagr_pct": 86.84, + "mdd_pct": 9.93, + "trades": 60, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 4.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.78 + } + }, + "alpha_pct": -37.65 + }, + "test": { + "final_equity": 137072719, + "total_return_pct": 37.07, + "cagr_pct": 173.44, + "mdd_pct": 7.96, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.24 + } + }, + "alpha_pct": -15.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.51, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.81, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.58, + "trades": 23 + } + ], + "worst_ret": 15.81 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 157450258, + "total_return_pct": 57.45, + "cagr_pct": 86.84, + "mdd_pct": 9.93, + "trades": 60, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 4.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.78 + } + }, + "alpha_pct": -37.65 + }, + "test": { + "final_equity": 137072719, + "total_return_pct": 37.07, + "cagr_pct": 173.44, + "mdd_pct": 7.96, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.24 + } + }, + "alpha_pct": -15.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.51, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.81, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.58, + "trades": 23 + } + ], + "worst_ret": 15.81 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149510976, + "total_return_pct": 49.51, + "cagr_pct": 73.99, + "mdd_pct": 12.67, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.84 + } + }, + "alpha_pct": -45.59 + }, + "test": { + "final_equity": 110608640, + "total_return_pct": 10.61, + "cagr_pct": 37.94, + "mdd_pct": 12.68, + "trades": 30, + "open_positions": 5, + "win_rate_pct": 23.3, + "profit_factor": 1.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.78 + } + }, + "alpha_pct": -42.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.34, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.36, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.8, + "trades": 40 + } + ], + "worst_ret": 15.8 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149510976, + "total_return_pct": 49.51, + "cagr_pct": 73.99, + "mdd_pct": 12.67, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.84 + } + }, + "alpha_pct": -45.59 + }, + "test": { + "final_equity": 110608640, + "total_return_pct": 10.61, + "cagr_pct": 37.94, + "mdd_pct": 12.68, + "trades": 30, + "open_positions": 5, + "win_rate_pct": 23.3, + "profit_factor": 1.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.78 + } + }, + "alpha_pct": -42.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.34, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.36, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.8, + "trades": 40 + } + ], + "worst_ret": 15.8 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156990914, + "total_return_pct": 56.99, + "cagr_pct": 86.09, + "mdd_pct": 9.92, + "trades": 60, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 3.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.32 + } + }, + "alpha_pct": -38.11 + }, + "test": { + "final_equity": 143084478, + "total_return_pct": 43.08, + "cagr_pct": 213.56, + "mdd_pct": 8.69, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -9.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.25 + } + }, + "alpha_pct": -9.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.38, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.67, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.8, + "trades": 23 + } + ], + "worst_ret": 15.67 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156990914, + "total_return_pct": 56.99, + "cagr_pct": 86.09, + "mdd_pct": 9.92, + "trades": 60, + "open_positions": 6, + "win_rate_pct": 50.0, + "profit_factor": 3.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.32 + } + }, + "alpha_pct": -38.11 + }, + "test": { + "final_equity": 143084478, + "total_return_pct": 43.08, + "cagr_pct": 213.56, + "mdd_pct": 8.69, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -9.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.25 + } + }, + "alpha_pct": -9.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.38, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.67, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.8, + "trades": 23 + } + ], + "worst_ret": 15.67 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 167931641, + "total_return_pct": 67.93, + "cagr_pct": 104.18, + "mdd_pct": 10.4, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 55.6, + "profit_factor": 5.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.26 + } + }, + "alpha_pct": -27.17 + }, + "test": { + "final_equity": 112529273, + "total_return_pct": 12.53, + "cagr_pct": 45.72, + "mdd_pct": 7.36, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 27.8, + "profit_factor": 2.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -40.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 26.7 + } + }, + "alpha_pct": -40.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.55, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.38, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.45, + "trades": 25 + } + ], + "worst_ret": 15.55 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 167931641, + "total_return_pct": 67.93, + "cagr_pct": 104.18, + "mdd_pct": 10.4, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 55.6, + "profit_factor": 5.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.26 + } + }, + "alpha_pct": -27.17 + }, + "test": { + "final_equity": 112529273, + "total_return_pct": 12.53, + "cagr_pct": 45.72, + "mdd_pct": 7.36, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 27.8, + "profit_factor": 2.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -40.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 26.7 + } + }, + "alpha_pct": -40.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.55, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.38, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.45, + "trades": 25 + } + ], + "worst_ret": 15.55 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 164143165, + "total_return_pct": 64.14, + "cagr_pct": 97.87, + "mdd_pct": 9.56, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 42.4, + "profit_factor": 4.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 16.47 + } + }, + "alpha_pct": -30.96 + }, + "test": { + "final_equity": 122485623, + "total_return_pct": 22.49, + "cagr_pct": 90.98, + "mdd_pct": 6.08, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 3.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.34 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.66 + } + }, + "alpha_pct": -30.34 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.49, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.01, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.06, + "trades": 30 + } + ], + "worst_ret": 15.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 164143165, + "total_return_pct": 64.14, + "cagr_pct": 97.87, + "mdd_pct": 9.56, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 42.4, + "profit_factor": 4.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 16.47 + } + }, + "alpha_pct": -30.96 + }, + "test": { + "final_equity": 122485623, + "total_return_pct": 22.49, + "cagr_pct": 90.98, + "mdd_pct": 6.08, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 3.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.34 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.66 + } + }, + "alpha_pct": -30.34 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.49, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.01, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.06, + "trades": 30 + } + ], + "worst_ret": 15.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 165362497, + "total_return_pct": 65.36, + "cagr_pct": 99.89, + "mdd_pct": 11.27, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 41.3, + "profit_factor": 4.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.69 + } + }, + "alpha_pct": -29.74 + }, + "test": { + "final_equity": 124637223, + "total_return_pct": 24.64, + "cagr_pct": 101.89, + "mdd_pct": 8.17, + "trades": 28, + "open_positions": 4, + "win_rate_pct": 32.1, + "profit_factor": 2.97, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.81 + } + }, + "alpha_pct": -28.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.42, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.03, + "trades": 38 + } + ], + "worst_ret": 15.42 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 165362497, + "total_return_pct": 65.36, + "cagr_pct": 99.89, + "mdd_pct": 11.27, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 41.3, + "profit_factor": 4.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.69 + } + }, + "alpha_pct": -29.74 + }, + "test": { + "final_equity": 124637223, + "total_return_pct": 24.64, + "cagr_pct": 101.89, + "mdd_pct": 8.17, + "trades": 28, + "open_positions": 4, + "win_rate_pct": 32.1, + "profit_factor": 2.97, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.81 + } + }, + "alpha_pct": -28.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.42, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.03, + "trades": 38 + } + ], + "worst_ret": 15.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149901721, + "total_return_pct": 49.9, + "cagr_pct": 74.62, + "mdd_pct": 10.03, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 47.5, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.23 + } + }, + "alpha_pct": -45.2 + }, + "test": { + "final_equity": 142829085, + "total_return_pct": 42.83, + "cagr_pct": 211.78, + "mdd_pct": 13.09, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 4.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.0 + } + }, + "alpha_pct": -10.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.29, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.1, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.37, + "trades": 26 + } + ], + "worst_ret": 15.1 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149901721, + "total_return_pct": 49.9, + "cagr_pct": 74.62, + "mdd_pct": 10.03, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 47.5, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.23 + } + }, + "alpha_pct": -45.2 + }, + "test": { + "final_equity": 142829085, + "total_return_pct": 42.83, + "cagr_pct": 211.78, + "mdd_pct": 13.09, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 4.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.0 + } + }, + "alpha_pct": -10.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.29, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.1, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.37, + "trades": 26 + } + ], + "worst_ret": 15.1 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 159482805, + "total_return_pct": 59.48, + "cagr_pct": 90.17, + "mdd_pct": 12.08, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 3.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -35.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.81 + } + }, + "alpha_pct": -35.62 + }, + "test": { + "final_equity": 126031499, + "total_return_pct": 26.03, + "cagr_pct": 109.18, + "mdd_pct": 6.08, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.2 + } + }, + "alpha_pct": -26.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.84, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 16.52, + "trades": 42 + } + ], + "worst_ret": 14.98 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 159482805, + "total_return_pct": 59.48, + "cagr_pct": 90.17, + "mdd_pct": 12.08, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 3.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -35.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.81 + } + }, + "alpha_pct": -35.62 + }, + "test": { + "final_equity": 126031499, + "total_return_pct": 26.03, + "cagr_pct": 109.18, + "mdd_pct": 6.08, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.2 + } + }, + "alpha_pct": -26.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.84, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 16.52, + "trades": 42 + } + ], + "worst_ret": 14.98 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155545314, + "total_return_pct": 55.55, + "cagr_pct": 83.74, + "mdd_pct": 10.06, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.88 + } + }, + "alpha_pct": -39.55 + }, + "test": { + "final_equity": 122601814, + "total_return_pct": 22.6, + "cagr_pct": 91.56, + "mdd_pct": 7.88, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 23.1, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.77 + } + }, + "alpha_pct": -30.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.9, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.82, + "trades": 39 + } + ], + "worst_ret": 14.98 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155545314, + "total_return_pct": 55.55, + "cagr_pct": 83.74, + "mdd_pct": 10.06, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.88 + } + }, + "alpha_pct": -39.55 + }, + "test": { + "final_equity": 122601814, + "total_return_pct": 22.6, + "cagr_pct": 91.56, + "mdd_pct": 7.88, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 23.1, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.77 + } + }, + "alpha_pct": -30.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.9, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.82, + "trades": 39 + } + ], + "worst_ret": 14.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 151479611, + "total_return_pct": 51.48, + "cagr_pct": 77.16, + "mdd_pct": 10.74, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 53.6, + "profit_factor": 4.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.81 + } + }, + "alpha_pct": -43.62 + }, + "test": { + "final_equity": 127361384, + "total_return_pct": 27.36, + "cagr_pct": 116.3, + "mdd_pct": 6.6, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.53 + } + }, + "alpha_pct": -25.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.05, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.51, + "trades": 31 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 151479611, + "total_return_pct": 51.48, + "cagr_pct": 77.16, + "mdd_pct": 10.74, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 53.6, + "profit_factor": 4.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.81 + } + }, + "alpha_pct": -43.62 + }, + "test": { + "final_equity": 127361384, + "total_return_pct": 27.36, + "cagr_pct": 116.3, + "mdd_pct": 6.6, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.53 + } + }, + "alpha_pct": -25.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.05, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.51, + "trades": 31 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153812693, + "total_return_pct": 53.81, + "cagr_pct": 80.92, + "mdd_pct": 10.03, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 50.7, + "profit_factor": 4.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.14 + } + }, + "alpha_pct": -41.29 + }, + "test": { + "final_equity": 126183972, + "total_return_pct": 26.18, + "cagr_pct": 109.99, + "mdd_pct": 6.29, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.35 + } + }, + "alpha_pct": -26.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.76, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.55, + "trades": 29 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153812693, + "total_return_pct": 53.81, + "cagr_pct": 80.92, + "mdd_pct": 10.03, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 50.7, + "profit_factor": 4.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.14 + } + }, + "alpha_pct": -41.29 + }, + "test": { + "final_equity": 126183972, + "total_return_pct": 26.18, + "cagr_pct": 109.99, + "mdd_pct": 6.29, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.35 + } + }, + "alpha_pct": -26.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.76, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.55, + "trades": 29 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155044066, + "total_return_pct": 55.04, + "cagr_pct": 82.92, + "mdd_pct": 11.53, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 51.9, + "profit_factor": 4.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.37 + } + }, + "alpha_pct": -40.06 + }, + "test": { + "final_equity": 118913871, + "total_return_pct": 18.91, + "cagr_pct": 73.77, + "mdd_pct": 5.49, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 47.6, + "profit_factor": 4.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.08 + } + }, + "alpha_pct": -33.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.21, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.4, + "trades": 31 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155044066, + "total_return_pct": 55.04, + "cagr_pct": 82.92, + "mdd_pct": 11.53, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 51.9, + "profit_factor": 4.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.37 + } + }, + "alpha_pct": -40.06 + }, + "test": { + "final_equity": 118913871, + "total_return_pct": 18.91, + "cagr_pct": 73.77, + "mdd_pct": 5.49, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 47.6, + "profit_factor": 4.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.08 + } + }, + "alpha_pct": -33.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.21, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.4, + "trades": 31 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158372953, + "total_return_pct": 58.37, + "cagr_pct": 88.35, + "mdd_pct": 10.5, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 53.1, + "profit_factor": 4.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.7 + } + }, + "alpha_pct": -36.73 + }, + "test": { + "final_equity": 115290560, + "total_return_pct": 15.29, + "cagr_pct": 57.44, + "mdd_pct": 7.6, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 2.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.46 + } + }, + "alpha_pct": -37.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.16, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.46, + "trades": 28 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158372953, + "total_return_pct": 58.37, + "cagr_pct": 88.35, + "mdd_pct": 10.5, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 53.1, + "profit_factor": 4.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.7 + } + }, + "alpha_pct": -36.73 + }, + "test": { + "final_equity": 115290560, + "total_return_pct": 15.29, + "cagr_pct": 57.44, + "mdd_pct": 7.6, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 2.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.46 + } + }, + "alpha_pct": -37.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.96, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.16, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.46, + "trades": 28 + } + ], + "worst_ret": 14.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155901902, + "total_return_pct": 55.9, + "cagr_pct": 84.32, + "mdd_pct": 10.02, + "trades": 49, + "open_positions": 6, + "win_rate_pct": 49.0, + "profit_factor": 4.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.23 + } + }, + "alpha_pct": -39.2 + }, + "test": { + "final_equity": 141236371, + "total_return_pct": 41.24, + "cagr_pct": 200.82, + "mdd_pct": 6.87, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 38.5, + "profit_factor": 7.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.41 + } + }, + "alpha_pct": -11.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.97, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.87, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 54.33, + "trades": 19 + } + ], + "worst_ret": 14.87 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155901902, + "total_return_pct": 55.9, + "cagr_pct": 84.32, + "mdd_pct": 10.02, + "trades": 49, + "open_positions": 6, + "win_rate_pct": 49.0, + "profit_factor": 4.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.23 + } + }, + "alpha_pct": -39.2 + }, + "test": { + "final_equity": 141236371, + "total_return_pct": 41.24, + "cagr_pct": 200.82, + "mdd_pct": 6.87, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 38.5, + "profit_factor": 7.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.41 + } + }, + "alpha_pct": -11.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.97, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.87, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 54.33, + "trades": 19 + } + ], + "worst_ret": 14.87 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158829229, + "total_return_pct": 58.83, + "cagr_pct": 89.1, + "mdd_pct": 12.0, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 3.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.16 + } + }, + "alpha_pct": -36.27 + }, + "test": { + "final_equity": 131312275, + "total_return_pct": 31.31, + "cagr_pct": 138.44, + "mdd_pct": 7.06, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.48 + } + }, + "alpha_pct": -21.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.79, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.72, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.12, + "trades": 42 + } + ], + "worst_ret": 14.79 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158829229, + "total_return_pct": 58.83, + "cagr_pct": 89.1, + "mdd_pct": 12.0, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 3.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.16 + } + }, + "alpha_pct": -36.27 + }, + "test": { + "final_equity": 131312275, + "total_return_pct": 31.31, + "cagr_pct": 138.44, + "mdd_pct": 7.06, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.48 + } + }, + "alpha_pct": -21.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.79, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.72, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.12, + "trades": 42 + } + ], + "worst_ret": 14.79 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154746971, + "total_return_pct": 54.75, + "cagr_pct": 82.44, + "mdd_pct": 10.37, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 3.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.08 + } + }, + "alpha_pct": -40.35 + }, + "test": { + "final_equity": 127828208, + "total_return_pct": 27.83, + "cagr_pct": 118.84, + "mdd_pct": 9.71, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 23.1, + "profit_factor": 2.49, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.0 + } + }, + "alpha_pct": -25.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.79, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.92, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.31, + "trades": 39 + } + ], + "worst_ret": 14.79 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154746971, + "total_return_pct": 54.75, + "cagr_pct": 82.44, + "mdd_pct": 10.37, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 3.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.08 + } + }, + "alpha_pct": -40.35 + }, + "test": { + "final_equity": 127828208, + "total_return_pct": 27.83, + "cagr_pct": 118.84, + "mdd_pct": 9.71, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 23.1, + "profit_factor": 2.49, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.0 + } + }, + "alpha_pct": -25.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.79, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.92, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.31, + "trades": 39 + } + ], + "worst_ret": 14.79 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 160686541, + "total_return_pct": 60.69, + "cagr_pct": 92.15, + "mdd_pct": 10.21, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -34.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.02 + } + }, + "alpha_pct": -34.41 + }, + "test": { + "final_equity": 137936632, + "total_return_pct": 37.94, + "cagr_pct": 178.97, + "mdd_pct": 10.4, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 3.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.89 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.11 + } + }, + "alpha_pct": -14.89 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.73, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.15, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.99, + "trades": 32 + } + ], + "worst_ret": 14.73 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 160686541, + "total_return_pct": 60.69, + "cagr_pct": 92.15, + "mdd_pct": 10.21, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -34.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.02 + } + }, + "alpha_pct": -34.41 + }, + "test": { + "final_equity": 137936632, + "total_return_pct": 37.94, + "cagr_pct": 178.97, + "mdd_pct": 10.4, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 3.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.89 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.11 + } + }, + "alpha_pct": -14.89 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.73, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.15, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.99, + "trades": 32 + } + ], + "worst_ret": 14.73 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146172179, + "total_return_pct": 46.17, + "cagr_pct": 68.67, + "mdd_pct": 11.83, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 2.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.5 + } + }, + "alpha_pct": -48.93 + }, + "test": { + "final_equity": 137194224, + "total_return_pct": 37.19, + "cagr_pct": 174.21, + "mdd_pct": 7.3, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 4.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.36 + } + }, + "alpha_pct": -15.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.61, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.38, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.71, + "trades": 36 + } + ], + "worst_ret": 14.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146172179, + "total_return_pct": 46.17, + "cagr_pct": 68.67, + "mdd_pct": 11.83, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 2.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.5 + } + }, + "alpha_pct": -48.93 + }, + "test": { + "final_equity": 137194224, + "total_return_pct": 37.19, + "cagr_pct": 174.21, + "mdd_pct": 7.3, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 4.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.36 + } + }, + "alpha_pct": -15.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.61, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.38, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.71, + "trades": 36 + } + ], + "worst_ret": 14.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147731890, + "total_return_pct": 47.73, + "cagr_pct": 71.15, + "mdd_pct": 11.28, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 2.88, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.06 + } + }, + "alpha_pct": -47.37 + }, + "test": { + "final_equity": 134967716, + "total_return_pct": 34.97, + "cagr_pct": 160.27, + "mdd_pct": 8.88, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.14 + } + }, + "alpha_pct": -17.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.61, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.75, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.76, + "trades": 34 + } + ], + "worst_ret": 14.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147731890, + "total_return_pct": 47.73, + "cagr_pct": 71.15, + "mdd_pct": 11.28, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 2.88, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.06 + } + }, + "alpha_pct": -47.37 + }, + "test": { + "final_equity": 134967716, + "total_return_pct": 34.97, + "cagr_pct": 160.27, + "mdd_pct": 8.88, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.14 + } + }, + "alpha_pct": -17.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.61, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.75, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.76, + "trades": 34 + } + ], + "worst_ret": 14.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 159268617, + "total_return_pct": 59.27, + "cagr_pct": 89.82, + "mdd_pct": 12.04, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 44.3, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -35.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.6 + } + }, + "alpha_pct": -35.83 + }, + "test": { + "final_equity": 140456909, + "total_return_pct": 40.46, + "cagr_pct": 195.56, + "mdd_pct": 8.52, + "trades": 28, + "open_positions": 5, + "win_rate_pct": 35.7, + "profit_factor": 4.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.37 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.63 + } + }, + "alpha_pct": -12.37 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.48, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.39, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.64, + "trades": 38 + } + ], + "worst_ret": 14.48 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 159268617, + "total_return_pct": 59.27, + "cagr_pct": 89.82, + "mdd_pct": 12.04, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 44.3, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -35.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.6 + } + }, + "alpha_pct": -35.83 + }, + "test": { + "final_equity": 140456909, + "total_return_pct": 40.46, + "cagr_pct": 195.56, + "mdd_pct": 8.52, + "trades": 28, + "open_positions": 5, + "win_rate_pct": 35.7, + "profit_factor": 4.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.37 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.63 + } + }, + "alpha_pct": -12.37 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.48, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.39, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.64, + "trades": 38 + } + ], + "worst_ret": 14.48 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 157419569, + "total_return_pct": 57.42, + "cagr_pct": 86.79, + "mdd_pct": 10.03, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 42.4, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.75 + } + }, + "alpha_pct": -37.68 + }, + "test": { + "final_equity": 135205927, + "total_return_pct": 35.21, + "cagr_pct": 161.73, + "mdd_pct": 9.66, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 3.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.38 + } + }, + "alpha_pct": -17.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.48, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.7, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.3, + "trades": 34 + } + ], + "worst_ret": 14.48 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 157419569, + "total_return_pct": 57.42, + "cagr_pct": 86.79, + "mdd_pct": 10.03, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 42.4, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.75 + } + }, + "alpha_pct": -37.68 + }, + "test": { + "final_equity": 135205927, + "total_return_pct": 35.21, + "cagr_pct": 161.73, + "mdd_pct": 9.66, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 3.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.38 + } + }, + "alpha_pct": -17.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.48, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.7, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.3, + "trades": 34 + } + ], + "worst_ret": 14.48 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145193468, + "total_return_pct": 45.19, + "cagr_pct": 67.11, + "mdd_pct": 9.97, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 3.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.48 + } + }, + "alpha_pct": -49.91 + }, + "test": { + "final_equity": 126601932, + "total_return_pct": 26.6, + "cagr_pct": 112.21, + "mdd_pct": 9.14, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 27.8, + "profit_factor": 4.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.77 + } + }, + "alpha_pct": -26.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.49, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.43, + "trades": 26 + } + ], + "worst_ret": 14.48 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145193468, + "total_return_pct": 45.19, + "cagr_pct": 67.11, + "mdd_pct": 9.97, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 3.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.48 + } + }, + "alpha_pct": -49.91 + }, + "test": { + "final_equity": 126601932, + "total_return_pct": 26.6, + "cagr_pct": 112.21, + "mdd_pct": 9.14, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 27.8, + "profit_factor": 4.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.77 + } + }, + "alpha_pct": -26.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.49, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.43, + "trades": 26 + } + ], + "worst_ret": 14.48 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148199473, + "total_return_pct": 48.2, + "cagr_pct": 71.9, + "mdd_pct": 12.72, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 29.7, + "profit_factor": 2.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.53 + } + }, + "alpha_pct": -46.9 + }, + "test": { + "final_equity": 117193974, + "total_return_pct": 17.19, + "cagr_pct": 65.88, + "mdd_pct": 15.36, + "trades": 24, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -35.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 31.36 + } + }, + "alpha_pct": -35.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.45, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.32, + "trades": 33 + } + ], + "worst_ret": 14.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148199473, + "total_return_pct": 48.2, + "cagr_pct": 71.9, + "mdd_pct": 12.72, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 29.7, + "profit_factor": 2.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.53 + } + }, + "alpha_pct": -46.9 + }, + "test": { + "final_equity": 117193974, + "total_return_pct": 17.19, + "cagr_pct": 65.88, + "mdd_pct": 15.36, + "trades": 24, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -35.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 31.36 + } + }, + "alpha_pct": -35.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.45, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.32, + "trades": 33 + } + ], + "worst_ret": 14.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149498722, + "total_return_pct": 49.5, + "cagr_pct": 73.97, + "mdd_pct": 10.92, + "trades": 71, + "open_positions": 7, + "win_rate_pct": 49.3, + "profit_factor": 3.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.83 + } + }, + "alpha_pct": -45.6 + }, + "test": { + "final_equity": 132311892, + "total_return_pct": 32.31, + "cagr_pct": 144.28, + "mdd_pct": 5.75, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.48 + } + }, + "alpha_pct": -20.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.24, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.44, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.29, + "trades": 31 + } + ], + "worst_ret": 14.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149498722, + "total_return_pct": 49.5, + "cagr_pct": 73.97, + "mdd_pct": 10.92, + "trades": 71, + "open_positions": 7, + "win_rate_pct": 49.3, + "profit_factor": 3.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.83 + } + }, + "alpha_pct": -45.6 + }, + "test": { + "final_equity": 132311892, + "total_return_pct": 32.31, + "cagr_pct": 144.28, + "mdd_pct": 5.75, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.48 + } + }, + "alpha_pct": -20.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.24, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.44, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.29, + "trades": 31 + } + ], + "worst_ret": 14.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154388688, + "total_return_pct": 54.39, + "cagr_pct": 81.86, + "mdd_pct": 11.06, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 53.6, + "profit_factor": 3.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.72 + } + }, + "alpha_pct": -40.71 + }, + "test": { + "final_equity": 142294068, + "total_return_pct": 42.29, + "cagr_pct": 208.07, + "mdd_pct": 9.0, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.46 + } + }, + "alpha_pct": -10.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.2, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.43, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.73, + "trades": 31 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154388688, + "total_return_pct": 54.39, + "cagr_pct": 81.86, + "mdd_pct": 11.06, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 53.6, + "profit_factor": 3.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.72 + } + }, + "alpha_pct": -40.71 + }, + "test": { + "final_equity": 142294068, + "total_return_pct": 42.29, + "cagr_pct": 208.07, + "mdd_pct": 9.0, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.46 + } + }, + "alpha_pct": -10.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.2, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.43, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.73, + "trades": 31 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168415782, + "total_return_pct": 68.42, + "cagr_pct": 104.99, + "mdd_pct": 9.16, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 54.2, + "profit_factor": 6.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.75 + } + }, + "alpha_pct": -26.68 + }, + "test": { + "final_equity": 132191020, + "total_return_pct": 32.19, + "cagr_pct": 143.57, + "mdd_pct": 6.96, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.36 + } + }, + "alpha_pct": -20.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.29, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.77, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168415782, + "total_return_pct": 68.42, + "cagr_pct": 104.99, + "mdd_pct": 9.16, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 54.2, + "profit_factor": 6.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.75 + } + }, + "alpha_pct": -26.68 + }, + "test": { + "final_equity": 132191020, + "total_return_pct": 32.19, + "cagr_pct": 143.57, + "mdd_pct": 6.96, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.36 + } + }, + "alpha_pct": -20.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.29, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.77, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161376716, + "total_return_pct": 61.38, + "cagr_pct": 93.29, + "mdd_pct": 9.59, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.71 + } + }, + "alpha_pct": -33.72 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.74, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.42, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161376716, + "total_return_pct": 61.38, + "cagr_pct": 93.29, + "mdd_pct": 9.59, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.71 + } + }, + "alpha_pct": -33.72 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.74, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.42, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169875749, + "total_return_pct": 69.88, + "cagr_pct": 107.44, + "mdd_pct": 10.61, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 52.0, + "profit_factor": 6.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 22.21 + } + }, + "alpha_pct": -25.22 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.86, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.42, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169875749, + "total_return_pct": 69.88, + "cagr_pct": 107.44, + "mdd_pct": 10.61, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 52.0, + "profit_factor": 6.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 22.21 + } + }, + "alpha_pct": -25.22 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.86, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.42, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 168606636, + "total_return_pct": 68.61, + "cagr_pct": 105.31, + "mdd_pct": 9.15, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 54.2, + "profit_factor": 7.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.49 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.94 + } + }, + "alpha_pct": -26.49 + }, + "test": { + "final_equity": 129386839, + "total_return_pct": 29.39, + "cagr_pct": 127.47, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.56 + } + }, + "alpha_pct": -23.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.76, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.31, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 168606636, + "total_return_pct": 68.61, + "cagr_pct": 105.31, + "mdd_pct": 9.15, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 54.2, + "profit_factor": 7.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.49 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.94 + } + }, + "alpha_pct": -26.49 + }, + "test": { + "final_equity": 129386839, + "total_return_pct": 29.39, + "cagr_pct": 127.47, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.56 + } + }, + "alpha_pct": -23.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.76, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.31, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 161597518, + "total_return_pct": 61.6, + "cagr_pct": 93.65, + "mdd_pct": 9.57, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.93 + } + }, + "alpha_pct": -33.5 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.14, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.6, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 161597518, + "total_return_pct": 61.6, + "cagr_pct": 93.65, + "mdd_pct": 9.57, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.93 + } + }, + "alpha_pct": -33.5 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.14, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.6, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 170179959, + "total_return_pct": 70.18, + "cagr_pct": 107.96, + "mdd_pct": 10.79, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 52.0, + "profit_factor": 7.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 22.51 + } + }, + "alpha_pct": -24.92 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.3, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.6, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 170179959, + "total_return_pct": 70.18, + "cagr_pct": 107.96, + "mdd_pct": 10.79, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 52.0, + "profit_factor": 7.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 22.51 + } + }, + "alpha_pct": -24.92 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.3, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.6, + "trades": 18 + } + ], + "worst_ret": 14.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156433916, + "total_return_pct": 56.43, + "cagr_pct": 85.18, + "mdd_pct": 10.63, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 38.8, + "profit_factor": 4.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.76 + } + }, + "alpha_pct": -38.67 + }, + "test": { + "final_equity": 137000197, + "total_return_pct": 37.0, + "cagr_pct": 172.98, + "mdd_pct": 6.66, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 5.57, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.17 + } + }, + "alpha_pct": -15.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.34, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.42, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.05, + "trades": 25 + } + ], + "worst_ret": 14.34 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156433916, + "total_return_pct": 56.43, + "cagr_pct": 85.18, + "mdd_pct": 10.63, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 38.8, + "profit_factor": 4.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.76 + } + }, + "alpha_pct": -38.67 + }, + "test": { + "final_equity": 137000197, + "total_return_pct": 37.0, + "cagr_pct": 172.98, + "mdd_pct": 6.66, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 5.57, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.17 + } + }, + "alpha_pct": -15.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.34, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.42, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.05, + "trades": 25 + } + ], + "worst_ret": 14.34 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152927963, + "total_return_pct": 52.93, + "cagr_pct": 79.49, + "mdd_pct": 9.79, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.26 + } + }, + "alpha_pct": -42.17 + }, + "test": { + "final_equity": 124900727, + "total_return_pct": 24.9, + "cagr_pct": 103.25, + "mdd_pct": 6.12, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.07 + } + }, + "alpha_pct": -27.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.3, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.42, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.4, + "trades": 42 + } + ], + "worst_ret": 14.3 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152927963, + "total_return_pct": 52.93, + "cagr_pct": 79.49, + "mdd_pct": 9.79, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.26 + } + }, + "alpha_pct": -42.17 + }, + "test": { + "final_equity": 124900727, + "total_return_pct": 24.9, + "cagr_pct": 103.25, + "mdd_pct": 6.12, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.07 + } + }, + "alpha_pct": -27.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.3, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.42, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.4, + "trades": 42 + } + ], + "worst_ret": 14.3 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145267726, + "total_return_pct": 45.27, + "cagr_pct": 67.23, + "mdd_pct": 11.06, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.4 + } + }, + "alpha_pct": -49.83 + }, + "test": { + "final_equity": 123114697, + "total_return_pct": 23.11, + "cagr_pct": 94.12, + "mdd_pct": 5.51, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 4.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.28 + } + }, + "alpha_pct": -29.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.36, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.01, + "trades": 33 + } + ], + "worst_ret": 14.29 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145267726, + "total_return_pct": 45.27, + "cagr_pct": 67.23, + "mdd_pct": 11.06, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.4 + } + }, + "alpha_pct": -49.83 + }, + "test": { + "final_equity": 123114697, + "total_return_pct": 23.11, + "cagr_pct": 94.12, + "mdd_pct": 5.51, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 4.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.28 + } + }, + "alpha_pct": -29.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.36, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.01, + "trades": 33 + } + ], + "worst_ret": 14.29 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153248412, + "total_return_pct": 53.25, + "cagr_pct": 80.01, + "mdd_pct": 9.04, + "trades": 59, + "open_positions": 8, + "win_rate_pct": 37.3, + "profit_factor": 3.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.58 + } + }, + "alpha_pct": -41.85 + }, + "test": { + "final_equity": 120257159, + "total_return_pct": 20.26, + "cagr_pct": 80.11, + "mdd_pct": 6.41, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.57 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.43 + } + }, + "alpha_pct": -32.57 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.4, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.35, + "trades": 34 + } + ], + "worst_ret": 14.29 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153248412, + "total_return_pct": 53.25, + "cagr_pct": 80.01, + "mdd_pct": 9.04, + "trades": 59, + "open_positions": 8, + "win_rate_pct": 37.3, + "profit_factor": 3.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.58 + } + }, + "alpha_pct": -41.85 + }, + "test": { + "final_equity": 120257159, + "total_return_pct": 20.26, + "cagr_pct": 80.11, + "mdd_pct": 6.41, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.57 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.43 + } + }, + "alpha_pct": -32.57 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.4, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.35, + "trades": 34 + } + ], + "worst_ret": 14.29 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146475147, + "total_return_pct": 46.48, + "cagr_pct": 69.15, + "mdd_pct": 10.53, + "trades": 75, + "open_positions": 7, + "win_rate_pct": 46.7, + "profit_factor": 3.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.19 + } + }, + "alpha_pct": -48.62 + }, + "test": { + "final_equity": 129898950, + "total_return_pct": 29.9, + "cagr_pct": 130.35, + "mdd_pct": 5.67, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.07 + } + }, + "alpha_pct": -22.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.42, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.12, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.96, + "trades": 31 + } + ], + "worst_ret": 14.12 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146475147, + "total_return_pct": 46.48, + "cagr_pct": 69.15, + "mdd_pct": 10.53, + "trades": 75, + "open_positions": 7, + "win_rate_pct": 46.7, + "profit_factor": 3.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.19 + } + }, + "alpha_pct": -48.62 + }, + "test": { + "final_equity": 129898950, + "total_return_pct": 29.9, + "cagr_pct": 130.35, + "mdd_pct": 5.67, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.07 + } + }, + "alpha_pct": -22.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.42, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.12, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.96, + "trades": 31 + } + ], + "worst_ret": 14.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143312977, + "total_return_pct": 43.31, + "cagr_pct": 64.14, + "mdd_pct": 11.97, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.36 + } + }, + "alpha_pct": -51.79 + }, + "test": { + "final_equity": 126564089, + "total_return_pct": 26.56, + "cagr_pct": 112.01, + "mdd_pct": 6.37, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.73 + } + }, + "alpha_pct": -26.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.06, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.12, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.77, + "trades": 37 + } + ], + "worst_ret": 14.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143312977, + "total_return_pct": 43.31, + "cagr_pct": 64.14, + "mdd_pct": 11.97, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.36 + } + }, + "alpha_pct": -51.79 + }, + "test": { + "final_equity": 126564089, + "total_return_pct": 26.56, + "cagr_pct": 112.01, + "mdd_pct": 6.37, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.73 + } + }, + "alpha_pct": -26.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.06, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.12, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.77, + "trades": 37 + } + ], + "worst_ret": 14.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 164951857, + "total_return_pct": 64.95, + "cagr_pct": 99.21, + "mdd_pct": 9.59, + "trades": 58, + "open_positions": 7, + "win_rate_pct": 53.4, + "profit_factor": 5.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.28 + } + }, + "alpha_pct": -30.15 + }, + "test": { + "final_equity": 125441042, + "total_return_pct": 25.44, + "cagr_pct": 106.07, + "mdd_pct": 5.86, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 40.9, + "profit_factor": 4.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.61 + } + }, + "alpha_pct": -27.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.07, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.48, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.06, + "trades": 35 + } + ], + "worst_ret": 14.07 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 164951857, + "total_return_pct": 64.95, + "cagr_pct": 99.21, + "mdd_pct": 9.59, + "trades": 58, + "open_positions": 7, + "win_rate_pct": 53.4, + "profit_factor": 5.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.28 + } + }, + "alpha_pct": -30.15 + }, + "test": { + "final_equity": 125441042, + "total_return_pct": 25.44, + "cagr_pct": 106.07, + "mdd_pct": 5.86, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 40.9, + "profit_factor": 4.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.61 + } + }, + "alpha_pct": -27.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.07, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.48, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.06, + "trades": 35 + } + ], + "worst_ret": 14.07 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152303693, + "total_return_pct": 52.3, + "cagr_pct": 78.48, + "mdd_pct": 10.36, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 3.05, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.63 + } + }, + "alpha_pct": -42.8 + }, + "test": { + "final_equity": 129441456, + "total_return_pct": 29.44, + "cagr_pct": 127.77, + "mdd_pct": 7.09, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.61 + } + }, + "alpha_pct": -23.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.06, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.35, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.46, + "trades": 42 + } + ], + "worst_ret": 14.06 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152303693, + "total_return_pct": 52.3, + "cagr_pct": 78.48, + "mdd_pct": 10.36, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 3.05, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.63 + } + }, + "alpha_pct": -42.8 + }, + "test": { + "final_equity": 129441456, + "total_return_pct": 29.44, + "cagr_pct": 127.77, + "mdd_pct": 7.09, + "trades": 28, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 3.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.61 + } + }, + "alpha_pct": -23.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.06, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.35, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.46, + "trades": 42 + } + ], + "worst_ret": 14.06 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 162558731, + "total_return_pct": 62.56, + "cagr_pct": 95.24, + "mdd_pct": 12.05, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 47.6, + "profit_factor": 5.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.89 + } + }, + "alpha_pct": -32.54 + }, + "test": { + "final_equity": 139844417, + "total_return_pct": 39.84, + "cagr_pct": 191.47, + "mdd_pct": 10.56, + "trades": 12, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.01 + } + }, + "alpha_pct": -12.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.05, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.76, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 46.88, + "trades": 12 + } + ], + "worst_ret": 14.05 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 162558731, + "total_return_pct": 62.56, + "cagr_pct": 95.24, + "mdd_pct": 12.05, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 47.6, + "profit_factor": 5.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.89 + } + }, + "alpha_pct": -32.54 + }, + "test": { + "final_equity": 139844417, + "total_return_pct": 39.84, + "cagr_pct": 191.47, + "mdd_pct": 10.56, + "trades": 12, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.01 + } + }, + "alpha_pct": -12.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.05, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.76, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 46.88, + "trades": 12 + } + ], + "worst_ret": 14.05 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164739535, + "total_return_pct": 64.74, + "cagr_pct": 98.86, + "mdd_pct": 12.34, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.07 + } + }, + "alpha_pct": -30.36 + }, + "test": { + "final_equity": 132507794, + "total_return_pct": 32.51, + "cagr_pct": 145.43, + "mdd_pct": 8.44, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 3.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.68 + } + }, + "alpha_pct": -20.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.05, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.68, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.71, + "trades": 18 + } + ], + "worst_ret": 14.05 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164739535, + "total_return_pct": 64.74, + "cagr_pct": 98.86, + "mdd_pct": 12.34, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.07 + } + }, + "alpha_pct": -30.36 + }, + "test": { + "final_equity": 132507794, + "total_return_pct": 32.51, + "cagr_pct": 145.43, + "mdd_pct": 8.44, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 3.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.68 + } + }, + "alpha_pct": -20.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.05, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.68, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.71, + "trades": 18 + } + ], + "worst_ret": 14.05 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164739535, + "total_return_pct": 64.74, + "cagr_pct": 98.86, + "mdd_pct": 12.34, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.07 + } + }, + "alpha_pct": -30.36 + }, + "test": { + "final_equity": 132138885, + "total_return_pct": 32.14, + "cagr_pct": 143.26, + "mdd_pct": 7.45, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 42.1, + "profit_factor": 3.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.05, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.68, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.71, + "trades": 18 + } + ], + "worst_ret": 14.05 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164739535, + "total_return_pct": 64.74, + "cagr_pct": 98.86, + "mdd_pct": 12.34, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.07 + } + }, + "alpha_pct": -30.36 + }, + "test": { + "final_equity": 132138885, + "total_return_pct": 32.14, + "cagr_pct": 143.26, + "mdd_pct": 7.45, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 42.1, + "profit_factor": 3.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.05, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.68, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.71, + "trades": 18 + } + ], + "worst_ret": 14.05 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150488796, + "total_return_pct": 50.49, + "cagr_pct": 75.56, + "mdd_pct": 10.68, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 32.8, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.82 + } + }, + "alpha_pct": -44.61 + }, + "test": { + "final_equity": 123467136, + "total_return_pct": 23.47, + "cagr_pct": 95.9, + "mdd_pct": 6.21, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 4.4, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.64 + } + }, + "alpha_pct": -29.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.02, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.16, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.64, + "trades": 31 + } + ], + "worst_ret": 14.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150488796, + "total_return_pct": 50.49, + "cagr_pct": 75.56, + "mdd_pct": 10.68, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 32.8, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.82 + } + }, + "alpha_pct": -44.61 + }, + "test": { + "final_equity": 123467136, + "total_return_pct": 23.47, + "cagr_pct": 95.9, + "mdd_pct": 6.21, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 36.4, + "profit_factor": 4.4, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.64 + } + }, + "alpha_pct": -29.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.02, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.16, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.64, + "trades": 31 + } + ], + "worst_ret": 14.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138528171, + "total_return_pct": 38.53, + "cagr_pct": 56.64, + "mdd_pct": 12.08, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.14 + } + }, + "alpha_pct": -56.57 + }, + "test": { + "final_equity": 122175792, + "total_return_pct": 22.18, + "cagr_pct": 89.44, + "mdd_pct": 5.88, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.33, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.35 + } + }, + "alpha_pct": -30.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.92, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.3, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.31, + "trades": 36 + } + ], + "worst_ret": 13.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138528171, + "total_return_pct": 38.53, + "cagr_pct": 56.64, + "mdd_pct": 12.08, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.14 + } + }, + "alpha_pct": -56.57 + }, + "test": { + "final_equity": 122175792, + "total_return_pct": 22.18, + "cagr_pct": 89.44, + "mdd_pct": 5.88, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.33, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.35 + } + }, + "alpha_pct": -30.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.92, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.3, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.31, + "trades": 36 + } + ], + "worst_ret": 13.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164691628, + "total_return_pct": 64.69, + "cagr_pct": 98.78, + "mdd_pct": 9.51, + "trades": 58, + "open_positions": 7, + "win_rate_pct": 53.4, + "profit_factor": 4.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.02 + } + }, + "alpha_pct": -30.41 + }, + "test": { + "final_equity": 130893415, + "total_return_pct": 30.89, + "cagr_pct": 136.02, + "mdd_pct": 6.99, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 40.9, + "profit_factor": 4.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.06 + } + }, + "alpha_pct": -21.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.13, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.57, + "trades": 35 + } + ], + "worst_ret": 13.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164691628, + "total_return_pct": 64.69, + "cagr_pct": 98.78, + "mdd_pct": 9.51, + "trades": 58, + "open_positions": 7, + "win_rate_pct": 53.4, + "profit_factor": 4.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.02 + } + }, + "alpha_pct": -30.41 + }, + "test": { + "final_equity": 130893415, + "total_return_pct": 30.89, + "cagr_pct": 136.02, + "mdd_pct": 6.99, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 40.9, + "profit_factor": 4.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.06 + } + }, + "alpha_pct": -21.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.13, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.57, + "trades": 35 + } + ], + "worst_ret": 13.89 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145070370, + "total_return_pct": 45.07, + "cagr_pct": 66.92, + "mdd_pct": 9.99, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 47.5, + "profit_factor": 3.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.6 + } + }, + "alpha_pct": -50.03 + }, + "test": { + "final_equity": 127911265, + "total_return_pct": 27.91, + "cagr_pct": 119.29, + "mdd_pct": 9.41, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 4.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.08 + } + }, + "alpha_pct": -24.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.85, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.63, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.43, + "trades": 26 + } + ], + "worst_ret": 13.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145070370, + "total_return_pct": 45.07, + "cagr_pct": 66.92, + "mdd_pct": 9.99, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 47.5, + "profit_factor": 3.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.6 + } + }, + "alpha_pct": -50.03 + }, + "test": { + "final_equity": 127911265, + "total_return_pct": 27.91, + "cagr_pct": 119.29, + "mdd_pct": 9.41, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 4.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.08 + } + }, + "alpha_pct": -24.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.85, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.63, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.43, + "trades": 26 + } + ], + "worst_ret": 13.85 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 163446046, + "total_return_pct": 63.45, + "cagr_pct": 96.71, + "mdd_pct": 11.27, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 41.3, + "profit_factor": 4.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.78 + } + }, + "alpha_pct": -31.65 + }, + "test": { + "final_equity": 132540935, + "total_return_pct": 32.54, + "cagr_pct": 145.63, + "mdd_pct": 10.33, + "trades": 28, + "open_positions": 4, + "win_rate_pct": 32.1, + "profit_factor": 2.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.71 + } + }, + "alpha_pct": -20.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.8, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.21, + "trades": 38 + } + ], + "worst_ret": 13.8 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 163446046, + "total_return_pct": 63.45, + "cagr_pct": 96.71, + "mdd_pct": 11.27, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 41.3, + "profit_factor": 4.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.78 + } + }, + "alpha_pct": -31.65 + }, + "test": { + "final_equity": 132540935, + "total_return_pct": 32.54, + "cagr_pct": 145.63, + "mdd_pct": 10.33, + "trades": 28, + "open_positions": 4, + "win_rate_pct": 32.1, + "profit_factor": 2.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.71 + } + }, + "alpha_pct": -20.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.8, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.21, + "trades": 38 + } + ], + "worst_ret": 13.8 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150984905, + "total_return_pct": 50.98, + "cagr_pct": 76.36, + "mdd_pct": 10.06, + "trades": 49, + "open_positions": 6, + "win_rate_pct": 49.0, + "profit_factor": 4.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.31 + } + }, + "alpha_pct": -44.12 + }, + "test": { + "final_equity": 125817777, + "total_return_pct": 25.82, + "cagr_pct": 108.05, + "mdd_pct": 4.98, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 38.5, + "profit_factor": 6.47, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.99 + } + }, + "alpha_pct": -27.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.75, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.18, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.6, + "trades": 19 + } + ], + "worst_ret": 13.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150984905, + "total_return_pct": 50.98, + "cagr_pct": 76.36, + "mdd_pct": 10.06, + "trades": 49, + "open_positions": 6, + "win_rate_pct": 49.0, + "profit_factor": 4.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.31 + } + }, + "alpha_pct": -44.12 + }, + "test": { + "final_equity": 125817777, + "total_return_pct": 25.82, + "cagr_pct": 108.05, + "mdd_pct": 4.98, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 38.5, + "profit_factor": 6.47, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.99 + } + }, + "alpha_pct": -27.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.75, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.18, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.6, + "trades": 19 + } + ], + "worst_ret": 13.75 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138526450, + "total_return_pct": 38.53, + "cagr_pct": 56.64, + "mdd_pct": 12.82, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.14 + } + }, + "alpha_pct": -56.57 + }, + "test": { + "final_equity": 127134867, + "total_return_pct": 27.13, + "cagr_pct": 115.08, + "mdd_pct": 8.13, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.7 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.3 + } + }, + "alpha_pct": -25.7 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.92, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.69, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.19, + "trades": 36 + } + ], + "worst_ret": 13.69 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138526450, + "total_return_pct": 38.53, + "cagr_pct": 56.64, + "mdd_pct": 12.82, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.14 + } + }, + "alpha_pct": -56.57 + }, + "test": { + "final_equity": 127134867, + "total_return_pct": 27.13, + "cagr_pct": 115.08, + "mdd_pct": 8.13, + "trades": 27, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 3.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.7 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.3 + } + }, + "alpha_pct": -25.7 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.92, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.69, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.19, + "trades": 36 + } + ], + "worst_ret": 13.69 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148350204, + "total_return_pct": 48.35, + "cagr_pct": 72.14, + "mdd_pct": 11.22, + "trades": 71, + "open_positions": 7, + "win_rate_pct": 49.3, + "profit_factor": 3.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.68 + } + }, + "alpha_pct": -46.75 + }, + "test": { + "final_equity": 133879543, + "total_return_pct": 33.88, + "cagr_pct": 153.63, + "mdd_pct": 7.18, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.05 + } + }, + "alpha_pct": -18.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.22, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.67, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.44, + "trades": 31 + } + ], + "worst_ret": 13.67 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148350204, + "total_return_pct": 48.35, + "cagr_pct": 72.14, + "mdd_pct": 11.22, + "trades": 71, + "open_positions": 7, + "win_rate_pct": 49.3, + "profit_factor": 3.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.68 + } + }, + "alpha_pct": -46.75 + }, + "test": { + "final_equity": 133879543, + "total_return_pct": 33.88, + "cagr_pct": 153.63, + "mdd_pct": 7.18, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.05 + } + }, + "alpha_pct": -18.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.22, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.67, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.44, + "trades": 31 + } + ], + "worst_ret": 13.67 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155302299, + "total_return_pct": 55.3, + "cagr_pct": 83.34, + "mdd_pct": 10.25, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 4.69, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.63 + } + }, + "alpha_pct": -39.8 + }, + "test": { + "final_equity": 122022833, + "total_return_pct": 22.02, + "cagr_pct": 88.68, + "mdd_pct": 5.32, + "trades": 15, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 4.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.19 + } + }, + "alpha_pct": -30.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.66, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.84, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.28, + "trades": 25 + } + ], + "worst_ret": 13.66 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155302299, + "total_return_pct": 55.3, + "cagr_pct": 83.34, + "mdd_pct": 10.25, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 4.69, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.63 + } + }, + "alpha_pct": -39.8 + }, + "test": { + "final_equity": 122022833, + "total_return_pct": 22.02, + "cagr_pct": 88.68, + "mdd_pct": 5.32, + "trades": 15, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 4.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.19 + } + }, + "alpha_pct": -30.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.66, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.84, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.28, + "trades": 25 + } + ], + "worst_ret": 13.66 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161406128, + "total_return_pct": 61.41, + "cagr_pct": 93.34, + "mdd_pct": 10.64, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 4.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.74 + } + }, + "alpha_pct": -33.69 + }, + "test": { + "final_equity": 136198490, + "total_return_pct": 36.2, + "cagr_pct": 167.91, + "mdd_pct": 7.28, + "trades": 15, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.37 + } + }, + "alpha_pct": -16.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.02, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.63, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.33, + "trades": 25 + } + ], + "worst_ret": 13.63 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161406128, + "total_return_pct": 61.41, + "cagr_pct": 93.34, + "mdd_pct": 10.64, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 4.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.74 + } + }, + "alpha_pct": -33.69 + }, + "test": { + "final_equity": 136198490, + "total_return_pct": 36.2, + "cagr_pct": 167.91, + "mdd_pct": 7.28, + "trades": 15, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.37 + } + }, + "alpha_pct": -16.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.02, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.63, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.33, + "trades": 25 + } + ], + "worst_ret": 13.63 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 167653420, + "total_return_pct": 67.65, + "cagr_pct": 103.72, + "mdd_pct": 10.6, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 48.0, + "profit_factor": 6.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 19.98 + } + }, + "alpha_pct": -27.45 + }, + "test": { + "final_equity": 134915828, + "total_return_pct": 34.92, + "cagr_pct": 159.95, + "mdd_pct": 6.99, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 4.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.09 + } + }, + "alpha_pct": -17.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.49, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.22, + "trades": 27 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 167653420, + "total_return_pct": 67.65, + "cagr_pct": 103.72, + "mdd_pct": 10.6, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 48.0, + "profit_factor": 6.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 19.98 + } + }, + "alpha_pct": -27.45 + }, + "test": { + "final_equity": 134915828, + "total_return_pct": 34.92, + "cagr_pct": 159.95, + "mdd_pct": 6.99, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 4.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.09 + } + }, + "alpha_pct": -17.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.49, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.22, + "trades": 27 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 162169732, + "total_return_pct": 62.17, + "cagr_pct": 94.6, + "mdd_pct": 11.12, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 5.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.5 + } + }, + "alpha_pct": -32.93 + }, + "test": { + "final_equity": 133361028, + "total_return_pct": 33.36, + "cagr_pct": 150.51, + "mdd_pct": 7.08, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.53 + } + }, + "alpha_pct": -19.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.87, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.57, + "trades": 29 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 162169732, + "total_return_pct": 62.17, + "cagr_pct": 94.6, + "mdd_pct": 11.12, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 5.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.5 + } + }, + "alpha_pct": -32.93 + }, + "test": { + "final_equity": 133361028, + "total_return_pct": 33.36, + "cagr_pct": 150.51, + "mdd_pct": 7.08, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.53 + } + }, + "alpha_pct": -19.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.87, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.57, + "trades": 29 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 167661996, + "total_return_pct": 67.66, + "cagr_pct": 103.73, + "mdd_pct": 10.69, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 48.0, + "profit_factor": 6.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 19.99 + } + }, + "alpha_pct": -27.44 + }, + "test": { + "final_equity": 129352222, + "total_return_pct": 29.35, + "cagr_pct": 127.27, + "mdd_pct": 6.02, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 5.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.52 + } + }, + "alpha_pct": -23.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.48, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.41, + "trades": 27 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 167661996, + "total_return_pct": 67.66, + "cagr_pct": 103.73, + "mdd_pct": 10.69, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 48.0, + "profit_factor": 6.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -27.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 19.99 + } + }, + "alpha_pct": -27.44 + }, + "test": { + "final_equity": 129352222, + "total_return_pct": 29.35, + "cagr_pct": 127.27, + "mdd_pct": 6.02, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 5.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.52 + } + }, + "alpha_pct": -23.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.48, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.41, + "trades": 27 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 161575160, + "total_return_pct": 61.58, + "cagr_pct": 93.62, + "mdd_pct": 11.5, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 5.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.91 + } + }, + "alpha_pct": -33.52 + }, + "test": { + "final_equity": 128627784, + "total_return_pct": 28.63, + "cagr_pct": 123.24, + "mdd_pct": 6.03, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.2 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.8 + } + }, + "alpha_pct": -24.2 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.89, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.24, + "trades": 29 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 161575160, + "total_return_pct": 61.58, + "cagr_pct": 93.62, + "mdd_pct": 11.5, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 5.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.91 + } + }, + "alpha_pct": -33.52 + }, + "test": { + "final_equity": 128627784, + "total_return_pct": 28.63, + "cagr_pct": 123.24, + "mdd_pct": 6.03, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.2 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.8 + } + }, + "alpha_pct": -24.2 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.89, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.24, + "trades": 29 + } + ], + "worst_ret": 13.51 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152594115, + "total_return_pct": 52.59, + "cagr_pct": 78.95, + "mdd_pct": 11.34, + "trades": 62, + "open_positions": 5, + "win_rate_pct": 51.6, + "profit_factor": 4.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.92 + } + }, + "alpha_pct": -42.51 + }, + "test": { + "final_equity": 135470191, + "total_return_pct": 35.47, + "cagr_pct": 163.37, + "mdd_pct": 6.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 6.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.64 + } + }, + "alpha_pct": -17.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.65, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.5, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.33, + "trades": 25 + } + ], + "worst_ret": 13.5 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152594115, + "total_return_pct": 52.59, + "cagr_pct": 78.95, + "mdd_pct": 11.34, + "trades": 62, + "open_positions": 5, + "win_rate_pct": 51.6, + "profit_factor": 4.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.92 + } + }, + "alpha_pct": -42.51 + }, + "test": { + "final_equity": 135470191, + "total_return_pct": 35.47, + "cagr_pct": 163.37, + "mdd_pct": 6.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 6.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.64 + } + }, + "alpha_pct": -17.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.65, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.5, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.33, + "trades": 25 + } + ], + "worst_ret": 13.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143421556, + "total_return_pct": 43.42, + "cagr_pct": 64.31, + "mdd_pct": 12.65, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.25 + } + }, + "alpha_pct": -51.68 + }, + "test": { + "final_equity": 134471358, + "total_return_pct": 34.47, + "cagr_pct": 157.22, + "mdd_pct": 7.5, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.64 + } + }, + "alpha_pct": -18.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.06, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.5, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.23, + "trades": 37 + } + ], + "worst_ret": 13.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143421556, + "total_return_pct": 43.42, + "cagr_pct": 64.31, + "mdd_pct": 12.65, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.25 + } + }, + "alpha_pct": -51.68 + }, + "test": { + "final_equity": 134471358, + "total_return_pct": 34.47, + "cagr_pct": 157.22, + "mdd_pct": 7.5, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.64 + } + }, + "alpha_pct": -18.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.06, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.5, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.23, + "trades": 37 + } + ], + "worst_ret": 13.5 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149662903, + "total_return_pct": 49.66, + "cagr_pct": 74.24, + "mdd_pct": 10.02, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.99 + } + }, + "alpha_pct": -45.44 + }, + "test": { + "final_equity": 140531004, + "total_return_pct": 40.53, + "cagr_pct": 196.06, + "mdd_pct": 12.85, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 27.8, + "profit_factor": 4.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.7 + } + }, + "alpha_pct": -12.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.91, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.44, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.37, + "trades": 26 + } + ], + "worst_ret": 13.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149662903, + "total_return_pct": 49.66, + "cagr_pct": 74.24, + "mdd_pct": 10.02, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.99 + } + }, + "alpha_pct": -45.44 + }, + "test": { + "final_equity": 140531004, + "total_return_pct": 40.53, + "cagr_pct": 196.06, + "mdd_pct": 12.85, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 27.8, + "profit_factor": 4.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.7 + } + }, + "alpha_pct": -12.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.91, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.44, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.37, + "trades": 26 + } + ], + "worst_ret": 13.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145392794, + "total_return_pct": 45.39, + "cagr_pct": 67.43, + "mdd_pct": 10.68, + "trades": 75, + "open_positions": 7, + "win_rate_pct": 46.7, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.28 + } + }, + "alpha_pct": -49.71 + }, + "test": { + "final_equity": 131020194, + "total_return_pct": 31.02, + "cagr_pct": 136.75, + "mdd_pct": 6.89, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.19 + } + }, + "alpha_pct": -21.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.44, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.68, + "trades": 31 + } + ], + "worst_ret": 13.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145392794, + "total_return_pct": 45.39, + "cagr_pct": 67.43, + "mdd_pct": 10.68, + "trades": 75, + "open_positions": 7, + "win_rate_pct": 46.7, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.28 + } + }, + "alpha_pct": -49.71 + }, + "test": { + "final_equity": 131020194, + "total_return_pct": 31.02, + "cagr_pct": 136.75, + "mdd_pct": 6.89, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.19 + } + }, + "alpha_pct": -21.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.43, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.44, + "trades": 34 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.68, + "trades": 31 + } + ], + "worst_ret": 13.44 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 172951439, + "total_return_pct": 72.95, + "cagr_pct": 112.63, + "mdd_pct": 12.3, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -22.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 25.28 + } + }, + "alpha_pct": -22.15 + }, + "test": { + "final_equity": 125587432, + "total_return_pct": 25.59, + "cagr_pct": 106.84, + "mdd_pct": 6.36, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 36.4, + "profit_factor": 4.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.76 + } + }, + "alpha_pct": -27.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.38, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.86, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.41, + "trades": 35 + } + ], + "worst_ret": 13.38 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 172951439, + "total_return_pct": 72.95, + "cagr_pct": 112.63, + "mdd_pct": 12.3, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -22.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 25.28 + } + }, + "alpha_pct": -22.15 + }, + "test": { + "final_equity": 125587432, + "total_return_pct": 25.59, + "cagr_pct": 106.84, + "mdd_pct": 6.36, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 36.4, + "profit_factor": 4.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.76 + } + }, + "alpha_pct": -27.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.38, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.86, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.41, + "trades": 35 + } + ], + "worst_ret": 13.38 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 173265792, + "total_return_pct": 73.27, + "cagr_pct": 113.17, + "mdd_pct": 10.06, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 53.7, + "profit_factor": 6.12, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -21.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 25.6 + } + }, + "alpha_pct": -21.83 + }, + "test": { + "final_equity": 121754910, + "total_return_pct": 21.75, + "cagr_pct": 87.37, + "mdd_pct": 8.55, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.08 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.92 + } + }, + "alpha_pct": -31.08 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.38, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.03, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.17, + "trades": 33 + } + ], + "worst_ret": 13.38 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 173265792, + "total_return_pct": 73.27, + "cagr_pct": 113.17, + "mdd_pct": 10.06, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 53.7, + "profit_factor": 6.12, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -21.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 25.6 + } + }, + "alpha_pct": -21.83 + }, + "test": { + "final_equity": 121754910, + "total_return_pct": 21.75, + "cagr_pct": 87.37, + "mdd_pct": 8.55, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.08 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.92 + } + }, + "alpha_pct": -31.08 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.38, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.03, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.17, + "trades": 33 + } + ], + "worst_ret": 13.38 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147585162, + "total_return_pct": 47.59, + "cagr_pct": 70.91, + "mdd_pct": 11.17, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 48.5, + "profit_factor": 4.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.08 + } + }, + "alpha_pct": -47.51 + }, + "test": { + "final_equity": 133034784, + "total_return_pct": 33.03, + "cagr_pct": 148.56, + "mdd_pct": 6.52, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.2 + } + }, + "alpha_pct": -19.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.57, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.17, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.98, + "trades": 25 + } + ], + "worst_ret": 13.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147585162, + "total_return_pct": 47.59, + "cagr_pct": 70.91, + "mdd_pct": 11.17, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 48.5, + "profit_factor": 4.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.08 + } + }, + "alpha_pct": -47.51 + }, + "test": { + "final_equity": 133034784, + "total_return_pct": 33.03, + "cagr_pct": 148.56, + "mdd_pct": 6.52, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.2 + } + }, + "alpha_pct": -19.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.57, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.17, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.98, + "trades": 25 + } + ], + "worst_ret": 13.17 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 172439998, + "total_return_pct": 72.44, + "cagr_pct": 111.77, + "mdd_pct": 12.12, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -22.66 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 24.77 + } + }, + "alpha_pct": -22.66 + }, + "test": { + "final_equity": 131119189, + "total_return_pct": 31.12, + "cagr_pct": 137.32, + "mdd_pct": 6.99, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 36.4, + "profit_factor": 4.33, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.29 + } + }, + "alpha_pct": -21.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.14, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.4, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.76, + "trades": 35 + } + ], + "worst_ret": 13.14 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 172439998, + "total_return_pct": 72.44, + "cagr_pct": 111.77, + "mdd_pct": 12.12, + "trades": 57, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -22.66 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 24.77 + } + }, + "alpha_pct": -22.66 + }, + "test": { + "final_equity": 131119189, + "total_return_pct": 31.12, + "cagr_pct": 137.32, + "mdd_pct": 6.99, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 36.4, + "profit_factor": 4.33, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.29 + } + }, + "alpha_pct": -21.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.14, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.4, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.76, + "trades": 35 + } + ], + "worst_ret": 13.14 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 172837031, + "total_return_pct": 72.84, + "cagr_pct": 112.44, + "mdd_pct": 10.09, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 53.7, + "profit_factor": 5.88, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -22.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 25.17 + } + }, + "alpha_pct": -22.26 + }, + "test": { + "final_equity": 127041131, + "total_return_pct": 27.04, + "cagr_pct": 114.57, + "mdd_pct": 9.26, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.21 + } + }, + "alpha_pct": -25.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.14, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 39.27, + "trades": 33 + } + ], + "worst_ret": 13.14 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 172837031, + "total_return_pct": 72.84, + "cagr_pct": 112.44, + "mdd_pct": 10.09, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 53.7, + "profit_factor": 5.88, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -22.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 25.17 + } + }, + "alpha_pct": -22.26 + }, + "test": { + "final_equity": 127041131, + "total_return_pct": 27.04, + "cagr_pct": 114.57, + "mdd_pct": 9.26, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.21 + } + }, + "alpha_pct": -25.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.14, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 39.27, + "trades": 33 + } + ], + "worst_ret": 13.14 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151514407, + "total_return_pct": 51.51, + "cagr_pct": 77.21, + "mdd_pct": 11.65, + "trades": 62, + "open_positions": 5, + "win_rate_pct": 51.6, + "profit_factor": 4.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.84 + } + }, + "alpha_pct": -43.59 + }, + "test": { + "final_equity": 140904638, + "total_return_pct": 40.9, + "cagr_pct": 198.57, + "mdd_pct": 7.4, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.07 + } + }, + "alpha_pct": -11.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.51, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.89, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.34, + "trades": 25 + } + ], + "worst_ret": 12.89 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151514407, + "total_return_pct": 51.51, + "cagr_pct": 77.21, + "mdd_pct": 11.65, + "trades": 62, + "open_positions": 5, + "win_rate_pct": 51.6, + "profit_factor": 4.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.84 + } + }, + "alpha_pct": -43.59 + }, + "test": { + "final_equity": 140904638, + "total_return_pct": 40.9, + "cagr_pct": 198.57, + "mdd_pct": 7.4, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.07 + } + }, + "alpha_pct": -11.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.51, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.89, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.34, + "trades": 25 + } + ], + "worst_ret": 12.89 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149738067, + "total_return_pct": 49.74, + "cagr_pct": 74.36, + "mdd_pct": 9.91, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.07 + } + }, + "alpha_pct": -45.36 + }, + "test": { + "final_equity": 139363211, + "total_return_pct": 39.36, + "cagr_pct": 188.28, + "mdd_pct": 8.85, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 5.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.53 + } + }, + "alpha_pct": -13.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.29, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.66, + "trades": 27 + } + ], + "worst_ret": 12.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149738067, + "total_return_pct": 49.74, + "cagr_pct": 74.36, + "mdd_pct": 9.91, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.07 + } + }, + "alpha_pct": -45.36 + }, + "test": { + "final_equity": 139363211, + "total_return_pct": 39.36, + "cagr_pct": 188.28, + "mdd_pct": 8.85, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 5.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.53 + } + }, + "alpha_pct": -13.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.29, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.66, + "trades": 27 + } + ], + "worst_ret": 12.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146490811, + "total_return_pct": 46.49, + "cagr_pct": 69.17, + "mdd_pct": 11.48, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 48.5, + "profit_factor": 3.79, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.18 + } + }, + "alpha_pct": -48.61 + }, + "test": { + "final_equity": 138034337, + "total_return_pct": 38.03, + "cagr_pct": 179.6, + "mdd_pct": 7.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.2 + } + }, + "alpha_pct": -14.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.42, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.83, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 39.43, + "trades": 25 + } + ], + "worst_ret": 12.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146490811, + "total_return_pct": 46.49, + "cagr_pct": 69.17, + "mdd_pct": 11.48, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 48.5, + "profit_factor": 3.79, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.18 + } + }, + "alpha_pct": -48.61 + }, + "test": { + "final_equity": 138034337, + "total_return_pct": 38.03, + "cagr_pct": 179.6, + "mdd_pct": 7.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.2 + } + }, + "alpha_pct": -14.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.42, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.83, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 39.43, + "trades": 25 + } + ], + "worst_ret": 12.83 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 162626604, + "total_return_pct": 62.63, + "cagr_pct": 95.35, + "mdd_pct": 10.52, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 4.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.96 + } + }, + "alpha_pct": -32.47 + }, + "test": { + "final_equity": 121660011, + "total_return_pct": 21.66, + "cagr_pct": 86.9, + "mdd_pct": 7.65, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 3.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.83 + } + }, + "alpha_pct": -31.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.76, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.74, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.06, + "trades": 32 + } + ], + "worst_ret": 12.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 162626604, + "total_return_pct": 62.63, + "cagr_pct": 95.35, + "mdd_pct": 10.52, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 4.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.96 + } + }, + "alpha_pct": -32.47 + }, + "test": { + "final_equity": 121660011, + "total_return_pct": 21.66, + "cagr_pct": 86.9, + "mdd_pct": 7.65, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 3.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.83 + } + }, + "alpha_pct": -31.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.76, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.74, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.06, + "trades": 32 + } + ], + "worst_ret": 12.76 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168726007, + "total_return_pct": 68.73, + "cagr_pct": 105.51, + "mdd_pct": 9.16, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 51.0, + "profit_factor": 6.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.06 + } + }, + "alpha_pct": -26.37 + }, + "test": { + "final_equity": 132191020, + "total_return_pct": 32.19, + "cagr_pct": 143.57, + "mdd_pct": 6.96, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.36 + } + }, + "alpha_pct": -20.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.34, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.65, + "trades": 20 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168726007, + "total_return_pct": 68.73, + "cagr_pct": 105.51, + "mdd_pct": 9.16, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 51.0, + "profit_factor": 6.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.06 + } + }, + "alpha_pct": -26.37 + }, + "test": { + "final_equity": 132191020, + "total_return_pct": 32.19, + "cagr_pct": 143.57, + "mdd_pct": 6.96, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.36 + } + }, + "alpha_pct": -20.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.34, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.65, + "trades": 20 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 160672472, + "total_return_pct": 60.67, + "cagr_pct": 92.13, + "mdd_pct": 9.59, + "trades": 53, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.53, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -34.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.0 + } + }, + "alpha_pct": -34.43 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.74, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.49, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 160672472, + "total_return_pct": 60.67, + "cagr_pct": 92.13, + "mdd_pct": 9.59, + "trades": 53, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.53, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -34.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.0 + } + }, + "alpha_pct": -34.43 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.74, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.49, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169236494, + "total_return_pct": 69.24, + "cagr_pct": 106.37, + "mdd_pct": 10.6, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 49.0, + "profit_factor": 6.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.57 + } + }, + "alpha_pct": -25.86 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.92, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.49, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169236494, + "total_return_pct": 69.24, + "cagr_pct": 106.37, + "mdd_pct": 10.6, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 49.0, + "profit_factor": 6.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.57 + } + }, + "alpha_pct": -25.86 + }, + "test": { + "final_equity": 132140185, + "total_return_pct": 32.14, + "cagr_pct": 143.27, + "mdd_pct": 6.95, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.31 + } + }, + "alpha_pct": -20.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.92, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.49, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 168934748, + "total_return_pct": 68.93, + "cagr_pct": 105.86, + "mdd_pct": 9.15, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 51.0, + "profit_factor": 7.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.26 + } + }, + "alpha_pct": -26.17 + }, + "test": { + "final_equity": 129386839, + "total_return_pct": 29.39, + "cagr_pct": 127.47, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.56 + } + }, + "alpha_pct": -23.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.8, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.27, + "trades": 20 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 168934748, + "total_return_pct": 68.93, + "cagr_pct": 105.86, + "mdd_pct": 9.15, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 51.0, + "profit_factor": 7.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.26 + } + }, + "alpha_pct": -26.17 + }, + "test": { + "final_equity": 129386839, + "total_return_pct": 29.39, + "cagr_pct": 127.47, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.56 + } + }, + "alpha_pct": -23.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.8, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.27, + "trades": 20 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 160833723, + "total_return_pct": 60.83, + "cagr_pct": 92.39, + "mdd_pct": 9.56, + "trades": 53, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -34.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.16 + } + }, + "alpha_pct": -34.27 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.14, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.16, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 160833723, + "total_return_pct": 60.83, + "cagr_pct": 92.39, + "mdd_pct": 9.56, + "trades": 53, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 5.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -34.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.16 + } + }, + "alpha_pct": -34.27 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.14, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.16, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 169429997, + "total_return_pct": 69.43, + "cagr_pct": 106.7, + "mdd_pct": 10.8, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 49.0, + "profit_factor": 6.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.76 + } + }, + "alpha_pct": -25.67 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.34, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.16, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 169429997, + "total_return_pct": 69.43, + "cagr_pct": 106.7, + "mdd_pct": 10.8, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 49.0, + "profit_factor": 6.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.76 + } + }, + "alpha_pct": -25.67 + }, + "test": { + "final_equity": 129335809, + "total_return_pct": 29.34, + "cagr_pct": 127.18, + "mdd_pct": 6.52, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 28.6, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.51 + } + }, + "alpha_pct": -23.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.74, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.34, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.16, + "trades": 21 + } + ], + "worst_ret": 12.74 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150901626, + "total_return_pct": 50.9, + "cagr_pct": 76.23, + "mdd_pct": 9.9, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 45.3, + "profit_factor": 3.45, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.23 + } + }, + "alpha_pct": -44.2 + }, + "test": { + "final_equity": 141156982, + "total_return_pct": 41.16, + "cagr_pct": 200.28, + "mdd_pct": 8.82, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 42.1, + "profit_factor": 5.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.33 + } + }, + "alpha_pct": -11.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.65, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.97, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.66, + "trades": 27 + } + ], + "worst_ret": 12.65 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150901626, + "total_return_pct": 50.9, + "cagr_pct": 76.23, + "mdd_pct": 9.9, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 45.3, + "profit_factor": 3.45, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.23 + } + }, + "alpha_pct": -44.2 + }, + "test": { + "final_equity": 141156982, + "total_return_pct": 41.16, + "cagr_pct": 200.28, + "mdd_pct": 8.82, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 42.1, + "profit_factor": 5.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.33 + } + }, + "alpha_pct": -11.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.65, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.97, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.66, + "trades": 27 + } + ], + "worst_ret": 12.65 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152124857, + "total_return_pct": 52.12, + "cagr_pct": 78.2, + "mdd_pct": 9.98, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 3.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.45 + } + }, + "alpha_pct": -42.98 + }, + "test": { + "final_equity": 140827464, + "total_return_pct": 40.83, + "cagr_pct": 198.05, + "mdd_pct": 6.6, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 8.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.0 + } + }, + "alpha_pct": -12.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.3, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.61, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 54.33, + "trades": 19 + } + ], + "worst_ret": 12.61 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152124857, + "total_return_pct": 52.12, + "cagr_pct": 78.2, + "mdd_pct": 9.98, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 3.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.45 + } + }, + "alpha_pct": -42.98 + }, + "test": { + "final_equity": 140827464, + "total_return_pct": 40.83, + "cagr_pct": 198.05, + "mdd_pct": 6.6, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 8.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.0 + } + }, + "alpha_pct": -12.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.3, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.61, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 54.33, + "trades": 19 + } + ], + "worst_ret": 12.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 157346659, + "total_return_pct": 57.35, + "cagr_pct": 86.67, + "mdd_pct": 11.2, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 45.1, + "profit_factor": 4.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.68 + } + }, + "alpha_pct": -37.75 + }, + "test": { + "final_equity": 134143688, + "total_return_pct": 34.14, + "cagr_pct": 155.23, + "mdd_pct": 6.87, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.31 + } + }, + "alpha_pct": -18.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.93, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.38, + "trades": 28 + } + ], + "worst_ret": 12.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 157346659, + "total_return_pct": 57.35, + "cagr_pct": 86.67, + "mdd_pct": 11.2, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 45.1, + "profit_factor": 4.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.68 + } + }, + "alpha_pct": -37.75 + }, + "test": { + "final_equity": 134143688, + "total_return_pct": 34.14, + "cagr_pct": 155.23, + "mdd_pct": 6.87, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.31 + } + }, + "alpha_pct": -18.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.93, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.38, + "trades": 28 + } + ], + "worst_ret": 12.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 162373928, + "total_return_pct": 62.37, + "cagr_pct": 94.94, + "mdd_pct": 10.64, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 48.9, + "profit_factor": 4.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.7 + } + }, + "alpha_pct": -32.73 + }, + "test": { + "final_equity": 132722221, + "total_return_pct": 32.72, + "cagr_pct": 146.7, + "mdd_pct": 6.91, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 4.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.89 + } + }, + "alpha_pct": -20.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.87, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.84, + "trades": 27 + } + ], + "worst_ret": 12.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 162373928, + "total_return_pct": 62.37, + "cagr_pct": 94.94, + "mdd_pct": 10.64, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 48.9, + "profit_factor": 4.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -32.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 14.7 + } + }, + "alpha_pct": -32.73 + }, + "test": { + "final_equity": 132722221, + "total_return_pct": 32.72, + "cagr_pct": 146.7, + "mdd_pct": 6.91, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 4.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.89 + } + }, + "alpha_pct": -20.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.87, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.84, + "trades": 27 + } + ], + "worst_ret": 12.61 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 154761138, + "total_return_pct": 54.76, + "cagr_pct": 82.46, + "mdd_pct": 11.5, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 44.3, + "profit_factor": 3.59, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.09 + } + }, + "alpha_pct": -40.34 + }, + "test": { + "final_equity": 124140418, + "total_return_pct": 24.14, + "cagr_pct": 99.33, + "mdd_pct": 6.43, + "trades": 28, + "open_positions": 5, + "win_rate_pct": 35.7, + "profit_factor": 4.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.31 + } + }, + "alpha_pct": -28.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.57, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.96, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.07, + "trades": 38 + } + ], + "worst_ret": 12.57 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 154761138, + "total_return_pct": 54.76, + "cagr_pct": 82.46, + "mdd_pct": 11.5, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 44.3, + "profit_factor": 3.59, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.09 + } + }, + "alpha_pct": -40.34 + }, + "test": { + "final_equity": 124140418, + "total_return_pct": 24.14, + "cagr_pct": 99.33, + "mdd_pct": 6.43, + "trades": 28, + "open_positions": 5, + "win_rate_pct": 35.7, + "profit_factor": 4.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.31 + } + }, + "alpha_pct": -28.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.57, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.96, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.07, + "trades": 38 + } + ], + "worst_ret": 12.57 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 159007274, + "total_return_pct": 59.01, + "cagr_pct": 89.39, + "mdd_pct": 10.5, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 42.4, + "profit_factor": 3.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.34 + } + }, + "alpha_pct": -36.09 + }, + "test": { + "final_equity": 120447168, + "total_return_pct": 20.45, + "cagr_pct": 81.02, + "mdd_pct": 6.67, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 3.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.62 + } + }, + "alpha_pct": -32.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.57, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.33, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.97, + "trades": 34 + } + ], + "worst_ret": 12.57 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 159007274, + "total_return_pct": 59.01, + "cagr_pct": 89.39, + "mdd_pct": 10.5, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 42.4, + "profit_factor": 3.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.34 + } + }, + "alpha_pct": -36.09 + }, + "test": { + "final_equity": 120447168, + "total_return_pct": 20.45, + "cagr_pct": 81.02, + "mdd_pct": 6.67, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 3.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.62 + } + }, + "alpha_pct": -32.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.57, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.33, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.97, + "trades": 34 + } + ], + "worst_ret": 12.57 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169618145, + "total_return_pct": 69.62, + "cagr_pct": 107.01, + "mdd_pct": 10.29, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 5.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.95 + } + }, + "alpha_pct": -25.48 + }, + "test": { + "final_equity": 127303480, + "total_return_pct": 27.3, + "cagr_pct": 115.99, + "mdd_pct": 10.27, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.47 + } + }, + "alpha_pct": -25.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.49, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.0, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.26, + "trades": 27 + } + ], + "worst_ret": 12.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169618145, + "total_return_pct": 69.62, + "cagr_pct": 107.01, + "mdd_pct": 10.29, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 5.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.95 + } + }, + "alpha_pct": -25.48 + }, + "test": { + "final_equity": 127303480, + "total_return_pct": 27.3, + "cagr_pct": 115.99, + "mdd_pct": 10.27, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.47 + } + }, + "alpha_pct": -25.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.49, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.0, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.26, + "trades": 27 + } + ], + "worst_ret": 12.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142234782, + "total_return_pct": 42.23, + "cagr_pct": 62.44, + "mdd_pct": 13.53, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.44 + } + }, + "alpha_pct": -52.87 + }, + "test": { + "final_equity": 106729640, + "total_return_pct": 6.73, + "cagr_pct": 23.09, + "mdd_pct": 9.79, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.9 + } + }, + "alpha_pct": -46.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.42, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.3, + "trades": 11 + } + ], + "worst_ret": 12.41 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142234782, + "total_return_pct": 42.23, + "cagr_pct": 62.44, + "mdd_pct": 13.53, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.44 + } + }, + "alpha_pct": -52.87 + }, + "test": { + "final_equity": 106729640, + "total_return_pct": 6.73, + "cagr_pct": 23.09, + "mdd_pct": 9.79, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.9 + } + }, + "alpha_pct": -46.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.42, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.3, + "trades": 11 + } + ], + "worst_ret": 12.41 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144543452, + "total_return_pct": 44.54, + "cagr_pct": 66.08, + "mdd_pct": 14.59, + "trades": 48, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.13 + } + }, + "alpha_pct": -50.56 + }, + "test": { + "final_equity": 94361513, + "total_return_pct": -5.64, + "cagr_pct": -16.9, + "mdd_pct": 11.33, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 15.8, + "profit_factor": 0.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.53 + } + }, + "alpha_pct": -58.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.96, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.37, + "trades": 16 + } + ], + "worst_ret": 12.37 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144543452, + "total_return_pct": 44.54, + "cagr_pct": 66.08, + "mdd_pct": 14.59, + "trades": 48, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.13 + } + }, + "alpha_pct": -50.56 + }, + "test": { + "final_equity": 94361513, + "total_return_pct": -5.64, + "cagr_pct": -16.9, + "mdd_pct": 11.33, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 15.8, + "profit_factor": 0.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.53 + } + }, + "alpha_pct": -58.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.96, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.37, + "trades": 16 + } + ], + "worst_ret": 12.37 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164461731, + "total_return_pct": 64.46, + "cagr_pct": 98.4, + "mdd_pct": 9.31, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 48.9, + "profit_factor": 5.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 16.79 + } + }, + "alpha_pct": -30.64 + }, + "test": { + "final_equity": 134396303, + "total_return_pct": 34.4, + "cagr_pct": 156.77, + "mdd_pct": 11.35, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 3.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.43 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.57 + } + }, + "alpha_pct": -18.43 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.35, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.81, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.92, + "trades": 13 + } + ], + "worst_ret": 12.35 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 164461731, + "total_return_pct": 64.46, + "cagr_pct": 98.4, + "mdd_pct": 9.31, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 48.9, + "profit_factor": 5.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 16.79 + } + }, + "alpha_pct": -30.64 + }, + "test": { + "final_equity": 134396303, + "total_return_pct": 34.4, + "cagr_pct": 156.77, + "mdd_pct": 11.35, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 3.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.43 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.57 + } + }, + "alpha_pct": -18.43 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.35, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.81, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.92, + "trades": 13 + } + ], + "worst_ret": 12.35 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168631063, + "total_return_pct": 68.63, + "cagr_pct": 105.35, + "mdd_pct": 12.45, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 5.71, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.96 + } + }, + "alpha_pct": -26.47 + }, + "test": { + "final_equity": 132164645, + "total_return_pct": 32.16, + "cagr_pct": 143.41, + "mdd_pct": 8.01, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 36.8, + "profit_factor": 3.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.33 + } + }, + "alpha_pct": -20.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.35, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.73, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.31, + "trades": 20 + } + ], + "worst_ret": 12.35 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168631063, + "total_return_pct": 68.63, + "cagr_pct": 105.35, + "mdd_pct": 12.45, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 5.71, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 20.96 + } + }, + "alpha_pct": -26.47 + }, + "test": { + "final_equity": 132164645, + "total_return_pct": 32.16, + "cagr_pct": 143.41, + "mdd_pct": 8.01, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 36.8, + "profit_factor": 3.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.33 + } + }, + "alpha_pct": -20.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.35, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.73, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.31, + "trades": 20 + } + ], + "worst_ret": 12.35 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 171763527, + "total_return_pct": 71.76, + "cagr_pct": 110.63, + "mdd_pct": 12.41, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 52.0, + "profit_factor": 5.96, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -23.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 24.09 + } + }, + "alpha_pct": -23.34 + }, + "test": { + "final_equity": 131373684, + "total_return_pct": 31.37, + "cagr_pct": 138.8, + "mdd_pct": 8.87, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.54 + } + }, + "alpha_pct": -21.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.35, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.73, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.31, + "trades": 20 + } + ], + "worst_ret": 12.35 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 171763527, + "total_return_pct": 71.76, + "cagr_pct": 110.63, + "mdd_pct": 12.41, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 52.0, + "profit_factor": 5.96, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -23.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 24.09 + } + }, + "alpha_pct": -23.34 + }, + "test": { + "final_equity": 131373684, + "total_return_pct": 31.37, + "cagr_pct": 138.8, + "mdd_pct": 8.87, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.54 + } + }, + "alpha_pct": -21.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.35, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.73, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.31, + "trades": 20 + } + ], + "worst_ret": 12.35 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168733495, + "total_return_pct": 68.73, + "cagr_pct": 105.53, + "mdd_pct": 10.13, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.06 + } + }, + "alpha_pct": -26.37 + }, + "test": { + "final_equity": 131123102, + "total_return_pct": 31.12, + "cagr_pct": 137.35, + "mdd_pct": 9.07, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 4.47, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.29 + } + }, + "alpha_pct": -21.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.27, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.8, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.24, + "trades": 29 + } + ], + "worst_ret": 12.27 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 168733495, + "total_return_pct": 68.73, + "cagr_pct": 105.53, + "mdd_pct": 10.13, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.06 + } + }, + "alpha_pct": -26.37 + }, + "test": { + "final_equity": 131123102, + "total_return_pct": 31.12, + "cagr_pct": 137.35, + "mdd_pct": 9.07, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 4.47, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.29 + } + }, + "alpha_pct": -21.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.27, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.8, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.24, + "trades": 29 + } + ], + "worst_ret": 12.27 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169045071, + "total_return_pct": 69.05, + "cagr_pct": 106.05, + "mdd_pct": 12.15, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 4.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.05 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.38 + } + }, + "alpha_pct": -26.05 + }, + "test": { + "final_equity": 129439136, + "total_return_pct": 29.44, + "cagr_pct": 127.76, + "mdd_pct": 7.56, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.61 + } + }, + "alpha_pct": -23.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.27, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.99, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.68, + "trades": 33 + } + ], + "worst_ret": 12.27 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 169045071, + "total_return_pct": 69.05, + "cagr_pct": 106.05, + "mdd_pct": 12.15, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 4.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -26.05 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.38 + } + }, + "alpha_pct": -26.05 + }, + "test": { + "final_equity": 129439136, + "total_return_pct": 29.44, + "cagr_pct": 127.76, + "mdd_pct": 7.56, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.61 + } + }, + "alpha_pct": -23.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.27, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.99, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.68, + "trades": 33 + } + ], + "worst_ret": 12.27 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158564675, + "total_return_pct": 58.56, + "cagr_pct": 88.67, + "mdd_pct": 11.09, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 43.2, + "profit_factor": 5.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.89 + } + }, + "alpha_pct": -36.54 + }, + "test": { + "final_equity": 135240632, + "total_return_pct": 35.24, + "cagr_pct": 161.95, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.41 + } + }, + "alpha_pct": -17.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.51, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.4, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158564675, + "total_return_pct": 58.56, + "cagr_pct": 88.67, + "mdd_pct": 11.09, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 43.2, + "profit_factor": 5.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.89 + } + }, + "alpha_pct": -36.54 + }, + "test": { + "final_equity": 135240632, + "total_return_pct": 35.24, + "cagr_pct": 161.95, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.41 + } + }, + "alpha_pct": -17.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.51, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.4, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148169091, + "total_return_pct": 48.17, + "cagr_pct": 71.85, + "mdd_pct": 9.3, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 4.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.5 + } + }, + "alpha_pct": -46.93 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.96, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.86, + "trades": 14 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148169091, + "total_return_pct": 48.17, + "cagr_pct": 71.85, + "mdd_pct": 9.3, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 4.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.5 + } + }, + "alpha_pct": -46.93 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.96, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.86, + "trades": 14 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154780535, + "total_return_pct": 54.78, + "cagr_pct": 82.49, + "mdd_pct": 12.6, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 4.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.11 + } + }, + "alpha_pct": -40.32 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.92, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.4, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154780535, + "total_return_pct": 54.78, + "cagr_pct": 82.49, + "mdd_pct": 12.6, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 4.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.11 + } + }, + "alpha_pct": -40.32 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.92, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.4, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158008173, + "total_return_pct": 58.01, + "cagr_pct": 87.76, + "mdd_pct": 11.56, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 43.2, + "profit_factor": 5.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.34 + } + }, + "alpha_pct": -37.09 + }, + "test": { + "final_equity": 131912031, + "total_return_pct": 31.91, + "cagr_pct": 141.93, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.08 + } + }, + "alpha_pct": -20.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.69, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.8, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158008173, + "total_return_pct": 58.01, + "cagr_pct": 87.76, + "mdd_pct": 11.56, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 43.2, + "profit_factor": 5.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.34 + } + }, + "alpha_pct": -37.09 + }, + "test": { + "final_equity": 131912031, + "total_return_pct": 31.91, + "cagr_pct": 141.93, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.08 + } + }, + "alpha_pct": -20.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.69, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.8, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148279632, + "total_return_pct": 48.28, + "cagr_pct": 72.02, + "mdd_pct": 9.21, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 4.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.61 + } + }, + "alpha_pct": -46.82 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.35, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.8, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148279632, + "total_return_pct": 48.28, + "cagr_pct": 72.02, + "mdd_pct": 9.21, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 4.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.61 + } + }, + "alpha_pct": -46.82 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.35, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.8, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155044521, + "total_return_pct": 55.04, + "cagr_pct": 82.92, + "mdd_pct": 12.79, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 4.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.37 + } + }, + "alpha_pct": -40.06 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.36, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.8, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155044521, + "total_return_pct": 55.04, + "cagr_pct": 82.92, + "mdd_pct": 12.79, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 42.6, + "profit_factor": 4.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.37 + } + }, + "alpha_pct": -40.06 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.2, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.36, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.8, + "trades": 13 + } + ], + "worst_ret": 12.2 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143670982, + "total_return_pct": 43.67, + "cagr_pct": 64.7, + "mdd_pct": 10.01, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.0 + } + }, + "alpha_pct": -51.43 + }, + "test": { + "final_equity": 129301724, + "total_return_pct": 29.3, + "cagr_pct": 126.99, + "mdd_pct": 6.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 4.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.47 + } + }, + "alpha_pct": -23.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.43, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.09, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.39, + "trades": 27 + } + ], + "worst_ret": 12.09 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143670982, + "total_return_pct": 43.67, + "cagr_pct": 64.7, + "mdd_pct": 10.01, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.0 + } + }, + "alpha_pct": -51.43 + }, + "test": { + "final_equity": 129301724, + "total_return_pct": 29.3, + "cagr_pct": 126.99, + "mdd_pct": 6.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 4.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.47 + } + }, + "alpha_pct": -23.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.43, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.09, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.39, + "trades": 27 + } + ], + "worst_ret": 12.09 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140508841, + "total_return_pct": 40.51, + "cagr_pct": 59.73, + "mdd_pct": 11.06, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.16 + } + }, + "alpha_pct": -54.59 + }, + "test": { + "final_equity": 122532742, + "total_return_pct": 22.53, + "cagr_pct": 91.21, + "mdd_pct": 5.13, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 3.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.7 + } + }, + "alpha_pct": -30.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.99, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.06, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.2, + "trades": 36 + } + ], + "worst_ret": 11.99 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140508841, + "total_return_pct": 40.51, + "cagr_pct": 59.73, + "mdd_pct": 11.06, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.16 + } + }, + "alpha_pct": -54.59 + }, + "test": { + "final_equity": 122532742, + "total_return_pct": 22.53, + "cagr_pct": 91.21, + "mdd_pct": 5.13, + "trades": 26, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 3.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.7 + } + }, + "alpha_pct": -30.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.99, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.06, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.2, + "trades": 36 + } + ], + "worst_ret": 11.99 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143249406, + "total_return_pct": 43.25, + "cagr_pct": 64.04, + "mdd_pct": 10.69, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 3.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.42 + } + }, + "alpha_pct": -51.85 + }, + "test": { + "final_equity": 120918211, + "total_return_pct": 20.92, + "cagr_pct": 83.29, + "mdd_pct": 6.3, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.09 + } + }, + "alpha_pct": -31.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.99, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.57, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.21, + "trades": 34 + } + ], + "worst_ret": 11.99 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143249406, + "total_return_pct": 43.25, + "cagr_pct": 64.04, + "mdd_pct": 10.69, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 3.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.42 + } + }, + "alpha_pct": -51.85 + }, + "test": { + "final_equity": 120918211, + "total_return_pct": 20.92, + "cagr_pct": 83.29, + "mdd_pct": 6.3, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 3.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.09 + } + }, + "alpha_pct": -31.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.99, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.57, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.21, + "trades": 34 + } + ], + "worst_ret": 11.99 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152437502, + "total_return_pct": 52.44, + "cagr_pct": 78.7, + "mdd_pct": 11.17, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 36.0, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.66 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.77 + } + }, + "alpha_pct": -42.66 + }, + "test": { + "final_equity": 144340231, + "total_return_pct": 44.34, + "cagr_pct": 222.42, + "mdd_pct": 9.25, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 6.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -8.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 58.51 + } + }, + "alpha_pct": -8.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.09, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.73, + "trades": 18 + } + ], + "worst_ret": 11.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152437502, + "total_return_pct": 52.44, + "cagr_pct": 78.7, + "mdd_pct": 11.17, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 36.0, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.66 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.77 + } + }, + "alpha_pct": -42.66 + }, + "test": { + "final_equity": 144340231, + "total_return_pct": 44.34, + "cagr_pct": 222.42, + "mdd_pct": 9.25, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 6.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -8.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 58.51 + } + }, + "alpha_pct": -8.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.09, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.73, + "trades": 18 + } + ], + "worst_ret": 11.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152355044, + "total_return_pct": 52.36, + "cagr_pct": 78.57, + "mdd_pct": 12.21, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.69 + } + }, + "alpha_pct": -42.74 + }, + "test": { + "final_equity": 133656276, + "total_return_pct": 33.66, + "cagr_pct": 152.28, + "mdd_pct": 7.61, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.83 + } + }, + "alpha_pct": -19.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.76, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.36, + "trades": 21 + } + ], + "worst_ret": 11.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152355044, + "total_return_pct": 52.36, + "cagr_pct": 78.57, + "mdd_pct": 12.21, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.69 + } + }, + "alpha_pct": -42.74 + }, + "test": { + "final_equity": 133656276, + "total_return_pct": 33.66, + "cagr_pct": 152.28, + "mdd_pct": 7.61, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.83 + } + }, + "alpha_pct": -19.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.76, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.36, + "trades": 21 + } + ], + "worst_ret": 11.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153265847, + "total_return_pct": 53.27, + "cagr_pct": 80.04, + "mdd_pct": 11.3, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.6 + } + }, + "alpha_pct": -41.83 + }, + "test": { + "final_equity": 133656276, + "total_return_pct": 33.66, + "cagr_pct": 152.28, + "mdd_pct": 7.61, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.83 + } + }, + "alpha_pct": -19.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.77, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.36, + "trades": 21 + } + ], + "worst_ret": 11.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153265847, + "total_return_pct": 53.27, + "cagr_pct": 80.04, + "mdd_pct": 11.3, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.6 + } + }, + "alpha_pct": -41.83 + }, + "test": { + "final_equity": 133656276, + "total_return_pct": 33.66, + "cagr_pct": 152.28, + "mdd_pct": 7.61, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.83 + } + }, + "alpha_pct": -19.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.77, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.36, + "trades": 21 + } + ], + "worst_ret": 11.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 157314501, + "total_return_pct": 57.31, + "cagr_pct": 86.62, + "mdd_pct": 11.47, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 47.6, + "profit_factor": 5.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.64 + } + }, + "alpha_pct": -37.79 + }, + "test": { + "final_equity": 125376459, + "total_return_pct": 25.38, + "cagr_pct": 105.73, + "mdd_pct": 7.81, + "trades": 12, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.55 + } + }, + "alpha_pct": -27.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.86, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.73, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.36, + "trades": 12 + } + ], + "worst_ret": 11.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 157314501, + "total_return_pct": 57.31, + "cagr_pct": 86.62, + "mdd_pct": 11.47, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 47.6, + "profit_factor": 5.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.64 + } + }, + "alpha_pct": -37.79 + }, + "test": { + "final_equity": 125376459, + "total_return_pct": 25.38, + "cagr_pct": 105.73, + "mdd_pct": 7.81, + "trades": 12, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.55 + } + }, + "alpha_pct": -27.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.86, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.73, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.36, + "trades": 12 + } + ], + "worst_ret": 11.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158790557, + "total_return_pct": 58.79, + "cagr_pct": 89.04, + "mdd_pct": 11.66, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.12 + } + }, + "alpha_pct": -36.31 + }, + "test": { + "final_equity": 121164849, + "total_return_pct": 21.16, + "cagr_pct": 84.48, + "mdd_pct": 5.69, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 42.1, + "profit_factor": 3.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.33 + } + }, + "alpha_pct": -31.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.86, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.79, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.23, + "trades": 18 + } + ], + "worst_ret": 11.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158790557, + "total_return_pct": 58.79, + "cagr_pct": 89.04, + "mdd_pct": 11.66, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.12 + } + }, + "alpha_pct": -36.31 + }, + "test": { + "final_equity": 121164849, + "total_return_pct": 21.16, + "cagr_pct": 84.48, + "mdd_pct": 5.69, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 42.1, + "profit_factor": 3.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.33 + } + }, + "alpha_pct": -31.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.86, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.79, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.23, + "trades": 18 + } + ], + "worst_ret": 11.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158790557, + "total_return_pct": 58.79, + "cagr_pct": 89.04, + "mdd_pct": 11.66, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.12 + } + }, + "alpha_pct": -36.31 + }, + "test": { + "final_equity": 120798789, + "total_return_pct": 20.8, + "cagr_pct": 82.71, + "mdd_pct": 6.46, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 3.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.97 + } + }, + "alpha_pct": -32.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.86, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.79, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.23, + "trades": 18 + } + ], + "worst_ret": 11.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158790557, + "total_return_pct": 58.79, + "cagr_pct": 89.04, + "mdd_pct": 11.66, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 53.2, + "profit_factor": 5.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 11.12 + } + }, + "alpha_pct": -36.31 + }, + "test": { + "final_equity": 120798789, + "total_return_pct": 20.8, + "cagr_pct": 82.71, + "mdd_pct": 6.46, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 3.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.97 + } + }, + "alpha_pct": -32.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.86, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.79, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.23, + "trades": 18 + } + ], + "worst_ret": 11.86 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149492386, + "total_return_pct": 49.49, + "cagr_pct": 73.96, + "mdd_pct": 10.03, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 40.6, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.82 + } + }, + "alpha_pct": -45.61 + }, + "test": { + "final_equity": 129301724, + "total_return_pct": 29.3, + "cagr_pct": 126.99, + "mdd_pct": 6.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 4.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.47 + } + }, + "alpha_pct": -23.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.86, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.83, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.39, + "trades": 27 + } + ], + "worst_ret": 11.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149492386, + "total_return_pct": 49.49, + "cagr_pct": 73.96, + "mdd_pct": 10.03, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 40.6, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.82 + } + }, + "alpha_pct": -45.61 + }, + "test": { + "final_equity": 129301724, + "total_return_pct": 29.3, + "cagr_pct": 126.99, + "mdd_pct": 6.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 4.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.47 + } + }, + "alpha_pct": -23.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.86, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.83, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.39, + "trades": 27 + } + ], + "worst_ret": 11.83 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150806644, + "total_return_pct": 50.81, + "cagr_pct": 76.07, + "mdd_pct": 12.4, + "trades": 43, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 4.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.14 + } + }, + "alpha_pct": -44.29 + }, + "test": { + "final_equity": 139067372, + "total_return_pct": 39.07, + "cagr_pct": 186.33, + "mdd_pct": 6.56, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 7.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.24 + } + }, + "alpha_pct": -13.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.81, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.9, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.8, + "trades": 13 + } + ], + "worst_ret": 11.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150806644, + "total_return_pct": 50.81, + "cagr_pct": 76.07, + "mdd_pct": 12.4, + "trades": 43, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 4.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.14 + } + }, + "alpha_pct": -44.29 + }, + "test": { + "final_equity": 139067372, + "total_return_pct": 39.07, + "cagr_pct": 186.33, + "mdd_pct": 6.56, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 7.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.24 + } + }, + "alpha_pct": -13.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.81, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.9, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.8, + "trades": 13 + } + ], + "worst_ret": 11.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153426034, + "total_return_pct": 53.43, + "cagr_pct": 80.3, + "mdd_pct": 12.59, + "trades": 42, + "open_positions": 8, + "win_rate_pct": 45.2, + "profit_factor": 4.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.76 + } + }, + "alpha_pct": -41.67 + }, + "test": { + "final_equity": 139067372, + "total_return_pct": 39.07, + "cagr_pct": 186.33, + "mdd_pct": 6.56, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 7.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.24 + } + }, + "alpha_pct": -13.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.81, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.75, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.8, + "trades": 13 + } + ], + "worst_ret": 11.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153426034, + "total_return_pct": 53.43, + "cagr_pct": 80.3, + "mdd_pct": 12.59, + "trades": 42, + "open_positions": 8, + "win_rate_pct": 45.2, + "profit_factor": 4.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.76 + } + }, + "alpha_pct": -41.67 + }, + "test": { + "final_equity": 139067372, + "total_return_pct": 39.07, + "cagr_pct": 186.33, + "mdd_pct": 6.56, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 7.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.24 + } + }, + "alpha_pct": -13.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.81, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.75, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.8, + "trades": 13 + } + ], + "worst_ret": 11.81 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153333955, + "total_return_pct": 53.33, + "cagr_pct": 80.15, + "mdd_pct": 9.65, + "trades": 55, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 4.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.66 + } + }, + "alpha_pct": -41.77 + }, + "test": { + "final_equity": 132844865, + "total_return_pct": 32.84, + "cagr_pct": 147.43, + "mdd_pct": 7.09, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.01 + } + }, + "alpha_pct": -19.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.34, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.76, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.55, + "trades": 29 + } + ], + "worst_ret": 11.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153333955, + "total_return_pct": 53.33, + "cagr_pct": 80.15, + "mdd_pct": 9.65, + "trades": 55, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 4.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.66 + } + }, + "alpha_pct": -41.77 + }, + "test": { + "final_equity": 132844865, + "total_return_pct": 32.84, + "cagr_pct": 147.43, + "mdd_pct": 7.09, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.01 + } + }, + "alpha_pct": -19.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.34, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.76, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.55, + "trades": 29 + } + ], + "worst_ret": 11.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152654621, + "total_return_pct": 52.65, + "cagr_pct": 79.05, + "mdd_pct": 9.65, + "trades": 55, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 4.59, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.98 + } + }, + "alpha_pct": -42.45 + }, + "test": { + "final_equity": 128188570, + "total_return_pct": 28.19, + "cagr_pct": 120.81, + "mdd_pct": 6.05, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.36 + } + }, + "alpha_pct": -24.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.34, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.75, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.42, + "trades": 29 + } + ], + "worst_ret": 11.75 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152654621, + "total_return_pct": 52.65, + "cagr_pct": 79.05, + "mdd_pct": 9.65, + "trades": 55, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 4.59, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.98 + } + }, + "alpha_pct": -42.45 + }, + "test": { + "final_equity": 128188570, + "total_return_pct": 28.19, + "cagr_pct": 120.81, + "mdd_pct": 6.05, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.36 + } + }, + "alpha_pct": -24.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.34, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.75, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.42, + "trades": 29 + } + ], + "worst_ret": 11.75 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150981660, + "total_return_pct": 50.98, + "cagr_pct": 76.35, + "mdd_pct": 10.22, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 38.8, + "profit_factor": 4.44, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.31 + } + }, + "alpha_pct": -44.12 + }, + "test": { + "final_equity": 122786180, + "total_return_pct": 22.79, + "cagr_pct": 92.48, + "mdd_pct": 4.67, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 4.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.96 + } + }, + "alpha_pct": -30.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.74, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.01, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.6, + "trades": 25 + } + ], + "worst_ret": 11.74 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150981660, + "total_return_pct": 50.98, + "cagr_pct": 76.35, + "mdd_pct": 10.22, + "trades": 49, + "open_positions": 8, + "win_rate_pct": 38.8, + "profit_factor": 4.44, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.31 + } + }, + "alpha_pct": -44.12 + }, + "test": { + "final_equity": 122786180, + "total_return_pct": 22.79, + "cagr_pct": 92.48, + "mdd_pct": 4.67, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 4.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.96 + } + }, + "alpha_pct": -30.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.74, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.01, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.6, + "trades": 25 + } + ], + "worst_ret": 11.74 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147146937, + "total_return_pct": 47.15, + "cagr_pct": 70.22, + "mdd_pct": 10.04, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.52 + } + }, + "alpha_pct": -47.95 + }, + "test": { + "final_equity": 141492207, + "total_return_pct": 41.49, + "cagr_pct": 202.56, + "mdd_pct": 8.8, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 47.4, + "profit_factor": 6.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.34 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.66 + } + }, + "alpha_pct": -11.34 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.65, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.72, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.73, + "trades": 27 + } + ], + "worst_ret": 11.72 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147146937, + "total_return_pct": 47.15, + "cagr_pct": 70.22, + "mdd_pct": 10.04, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.52 + } + }, + "alpha_pct": -47.95 + }, + "test": { + "final_equity": 141492207, + "total_return_pct": 41.49, + "cagr_pct": 202.56, + "mdd_pct": 8.8, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 47.4, + "profit_factor": 6.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.34 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.66 + } + }, + "alpha_pct": -11.34 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.65, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.72, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.73, + "trades": 27 + } + ], + "worst_ret": 11.72 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154587131, + "total_return_pct": 54.59, + "cagr_pct": 82.18, + "mdd_pct": 9.64, + "trades": 53, + "open_positions": 8, + "win_rate_pct": 49.1, + "profit_factor": 4.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.92 + } + }, + "alpha_pct": -40.51 + }, + "test": { + "final_equity": 132768310, + "total_return_pct": 32.77, + "cagr_pct": 146.98, + "mdd_pct": 7.09, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.94 + } + }, + "alpha_pct": -20.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.72, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.69, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.47, + "trades": 29 + } + ], + "worst_ret": 11.69 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 154587131, + "total_return_pct": 54.59, + "cagr_pct": 82.18, + "mdd_pct": 9.64, + "trades": 53, + "open_positions": 8, + "win_rate_pct": 49.1, + "profit_factor": 4.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.92 + } + }, + "alpha_pct": -40.51 + }, + "test": { + "final_equity": 132768310, + "total_return_pct": 32.77, + "cagr_pct": 146.98, + "mdd_pct": 7.09, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.94 + } + }, + "alpha_pct": -20.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.72, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.69, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.47, + "trades": 29 + } + ], + "worst_ret": 11.69 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153988020, + "total_return_pct": 53.99, + "cagr_pct": 81.21, + "mdd_pct": 9.65, + "trades": 53, + "open_positions": 8, + "win_rate_pct": 49.1, + "profit_factor": 4.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.32 + } + }, + "alpha_pct": -41.11 + }, + "test": { + "final_equity": 128091564, + "total_return_pct": 28.09, + "cagr_pct": 120.28, + "mdd_pct": 6.04, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.17, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.26 + } + }, + "alpha_pct": -24.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.72, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.68, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.33, + "trades": 29 + } + ], + "worst_ret": 11.68 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 153988020, + "total_return_pct": 53.99, + "cagr_pct": 81.21, + "mdd_pct": 9.65, + "trades": 53, + "open_positions": 8, + "win_rate_pct": 49.1, + "profit_factor": 4.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.32 + } + }, + "alpha_pct": -41.11 + }, + "test": { + "final_equity": 128091564, + "total_return_pct": 28.09, + "cagr_pct": 120.28, + "mdd_pct": 6.04, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.17, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.26 + } + }, + "alpha_pct": -24.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.72, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.68, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.33, + "trades": 29 + } + ], + "worst_ret": 11.68 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144193259, + "total_return_pct": 44.19, + "cagr_pct": 65.53, + "mdd_pct": 10.02, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.48 + } + }, + "alpha_pct": -50.91 + }, + "test": { + "final_equity": 131049050, + "total_return_pct": 31.05, + "cagr_pct": 136.92, + "mdd_pct": 7.91, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.22 + } + }, + "alpha_pct": -21.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.58, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.55, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 44.87, + "trades": 27 + } + ], + "worst_ret": 11.55 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144193259, + "total_return_pct": 44.19, + "cagr_pct": 65.53, + "mdd_pct": 10.02, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.48 + } + }, + "alpha_pct": -50.91 + }, + "test": { + "final_equity": 131049050, + "total_return_pct": 31.05, + "cagr_pct": 136.92, + "mdd_pct": 7.91, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.22 + } + }, + "alpha_pct": -21.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.58, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.55, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 44.87, + "trades": 27 + } + ], + "worst_ret": 11.55 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149654159, + "total_return_pct": 49.65, + "cagr_pct": 74.22, + "mdd_pct": 10.8, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 29.8, + "profit_factor": 2.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.98 + } + }, + "alpha_pct": -45.45 + }, + "test": { + "final_equity": 112371392, + "total_return_pct": 12.37, + "cagr_pct": 45.07, + "mdd_pct": 11.02, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 1.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -40.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 26.54 + } + }, + "alpha_pct": -40.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.5, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.1, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.38, + "trades": 30 + } + ], + "worst_ret": 11.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149654159, + "total_return_pct": 49.65, + "cagr_pct": 74.22, + "mdd_pct": 10.8, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 29.8, + "profit_factor": 2.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.98 + } + }, + "alpha_pct": -45.45 + }, + "test": { + "final_equity": 112371392, + "total_return_pct": 12.37, + "cagr_pct": 45.07, + "mdd_pct": 11.02, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 1.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -40.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 26.54 + } + }, + "alpha_pct": -40.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.5, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.1, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.38, + "trades": 30 + } + ], + "worst_ret": 11.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150481843, + "total_return_pct": 50.48, + "cagr_pct": 75.55, + "mdd_pct": 10.63, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 3.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.81 + } + }, + "alpha_pct": -44.62 + }, + "test": { + "final_equity": 111656535, + "total_return_pct": 11.66, + "cagr_pct": 42.15, + "mdd_pct": 10.89, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 24.0, + "profit_factor": 1.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.83 + } + }, + "alpha_pct": -41.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.5, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.1, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.87, + "trades": 34 + } + ], + "worst_ret": 11.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150481843, + "total_return_pct": 50.48, + "cagr_pct": 75.55, + "mdd_pct": 10.63, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 3.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.81 + } + }, + "alpha_pct": -44.62 + }, + "test": { + "final_equity": 111656535, + "total_return_pct": 11.66, + "cagr_pct": 42.15, + "mdd_pct": 10.89, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 24.0, + "profit_factor": 1.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.83 + } + }, + "alpha_pct": -41.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.5, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.1, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.87, + "trades": 34 + } + ], + "worst_ret": 11.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148807971, + "total_return_pct": 48.81, + "cagr_pct": 72.87, + "mdd_pct": 12.45, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 36.8, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.14 + } + }, + "alpha_pct": -46.29 + }, + "test": { + "final_equity": 113810215, + "total_return_pct": 13.81, + "cagr_pct": 51.08, + "mdd_pct": 9.91, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 2.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -39.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 27.98 + } + }, + "alpha_pct": -39.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.7, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.06, + "trades": 34 + } + ], + "worst_ret": 11.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148807971, + "total_return_pct": 48.81, + "cagr_pct": 72.87, + "mdd_pct": 12.45, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 36.8, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.14 + } + }, + "alpha_pct": -46.29 + }, + "test": { + "final_equity": 113810215, + "total_return_pct": 13.81, + "cagr_pct": 51.08, + "mdd_pct": 9.91, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 2.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -39.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 27.98 + } + }, + "alpha_pct": -39.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.7, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.06, + "trades": 34 + } + ], + "worst_ret": 11.49 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150142490, + "total_return_pct": 50.14, + "cagr_pct": 75.01, + "mdd_pct": 10.04, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 40.6, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.47 + } + }, + "alpha_pct": -44.96 + }, + "test": { + "final_equity": 131049050, + "total_return_pct": 31.05, + "cagr_pct": 136.92, + "mdd_pct": 7.91, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.22 + } + }, + "alpha_pct": -21.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.01, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.34, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 44.87, + "trades": 27 + } + ], + "worst_ret": 11.34 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150142490, + "total_return_pct": 50.14, + "cagr_pct": 75.01, + "mdd_pct": 10.04, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 40.6, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.47 + } + }, + "alpha_pct": -44.96 + }, + "test": { + "final_equity": 131049050, + "total_return_pct": 31.05, + "cagr_pct": 136.92, + "mdd_pct": 7.91, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 28.6, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.22 + } + }, + "alpha_pct": -21.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.01, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.34, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 44.87, + "trades": 27 + } + ], + "worst_ret": 11.34 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148766220, + "total_return_pct": 48.77, + "cagr_pct": 72.8, + "mdd_pct": 10.02, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 46.2, + "profit_factor": 3.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.1 + } + }, + "alpha_pct": -46.33 + }, + "test": { + "final_equity": 139069188, + "total_return_pct": 39.07, + "cagr_pct": 186.34, + "mdd_pct": 6.73, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 46.7, + "profit_factor": 7.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.24 + } + }, + "alpha_pct": -13.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.04, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.22, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 52.52, + "trades": 20 + } + ], + "worst_ret": 11.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148766220, + "total_return_pct": 48.77, + "cagr_pct": 72.8, + "mdd_pct": 10.02, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 46.2, + "profit_factor": 3.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.1 + } + }, + "alpha_pct": -46.33 + }, + "test": { + "final_equity": 139069188, + "total_return_pct": 39.07, + "cagr_pct": 186.34, + "mdd_pct": 6.73, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 46.7, + "profit_factor": 7.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.24 + } + }, + "alpha_pct": -13.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.04, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.22, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 52.52, + "trades": 20 + } + ], + "worst_ret": 11.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147411863, + "total_return_pct": 47.41, + "cagr_pct": 70.64, + "mdd_pct": 10.02, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 4.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.26 + } + }, + "alpha_pct": -47.69 + }, + "test": { + "final_equity": 125373578, + "total_return_pct": 25.37, + "cagr_pct": 105.71, + "mdd_pct": 4.66, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 6.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.54 + } + }, + "alpha_pct": -27.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.72, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.6, + "trades": 19 + } + ], + "worst_ret": 11.12 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147411863, + "total_return_pct": 47.41, + "cagr_pct": 70.64, + "mdd_pct": 10.02, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 4.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.26 + } + }, + "alpha_pct": -47.69 + }, + "test": { + "final_equity": 125373578, + "total_return_pct": 25.37, + "cagr_pct": 105.71, + "mdd_pct": 4.66, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 6.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.54 + } + }, + "alpha_pct": -27.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.72, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.6, + "trades": 19 + } + ], + "worst_ret": 11.12 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142539622, + "total_return_pct": 42.54, + "cagr_pct": 62.92, + "mdd_pct": 10.02, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.13 + } + }, + "alpha_pct": -52.56 + }, + "test": { + "final_equity": 126020576, + "total_return_pct": 26.02, + "cagr_pct": 109.12, + "mdd_pct": 6.37, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.19 + } + }, + "alpha_pct": -26.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.85, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.42, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.34, + "trades": 28 + } + ], + "worst_ret": 10.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142539622, + "total_return_pct": 42.54, + "cagr_pct": 62.92, + "mdd_pct": 10.02, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.13 + } + }, + "alpha_pct": -52.56 + }, + "test": { + "final_equity": 126020576, + "total_return_pct": 26.02, + "cagr_pct": 109.12, + "mdd_pct": 6.37, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.19 + } + }, + "alpha_pct": -26.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.85, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.42, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.34, + "trades": 28 + } + ], + "worst_ret": 10.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145454991, + "total_return_pct": 45.45, + "cagr_pct": 67.53, + "mdd_pct": 9.93, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.22 + } + }, + "alpha_pct": -49.65 + }, + "test": { + "final_equity": 125781536, + "total_return_pct": 25.78, + "cagr_pct": 107.86, + "mdd_pct": 6.38, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 5.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.95 + } + }, + "alpha_pct": -27.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.85, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.73, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.29, + "trades": 27 + } + ], + "worst_ret": 10.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145454991, + "total_return_pct": 45.45, + "cagr_pct": 67.53, + "mdd_pct": 9.93, + "trades": 68, + "open_positions": 8, + "win_rate_pct": 41.2, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.22 + } + }, + "alpha_pct": -49.65 + }, + "test": { + "final_equity": 125781536, + "total_return_pct": 25.78, + "cagr_pct": 107.86, + "mdd_pct": 6.38, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 35.0, + "profit_factor": 5.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.95 + } + }, + "alpha_pct": -27.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.85, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.73, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.29, + "trades": 27 + } + ], + "worst_ret": 10.85 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138247371, + "total_return_pct": 38.25, + "cagr_pct": 56.2, + "mdd_pct": 12.99, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.42 + } + }, + "alpha_pct": -56.85 + }, + "test": { + "final_equity": 104409098, + "total_return_pct": 4.41, + "cagr_pct": 14.76, + "mdd_pct": 7.8, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.58 + } + }, + "alpha_pct": -48.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.74, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.13, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.1, + "trades": 11 + } + ], + "worst_ret": 10.74 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138247371, + "total_return_pct": 38.25, + "cagr_pct": 56.2, + "mdd_pct": 12.99, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.42 + } + }, + "alpha_pct": -56.85 + }, + "test": { + "final_equity": 104409098, + "total_return_pct": 4.41, + "cagr_pct": 14.76, + "mdd_pct": 7.8, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.58 + } + }, + "alpha_pct": -48.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.74, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.13, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.1, + "trades": 11 + } + ], + "worst_ret": 10.74 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 170981687, + "total_return_pct": 70.98, + "cagr_pct": 109.31, + "mdd_pct": 10.49, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 5.69, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.31 + } + }, + "alpha_pct": -24.12 + }, + "test": { + "final_equity": 115258709, + "total_return_pct": 15.26, + "cagr_pct": 57.3, + "mdd_pct": 9.25, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 3.53, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.57 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.43 + } + }, + "alpha_pct": -37.57 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.72, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.77, + "trades": 27 + } + ], + "worst_ret": 10.72 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 170981687, + "total_return_pct": 70.98, + "cagr_pct": 109.31, + "mdd_pct": 10.49, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 5.69, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -24.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 23.31 + } + }, + "alpha_pct": -24.12 + }, + "test": { + "final_equity": 115258709, + "total_return_pct": 15.26, + "cagr_pct": 57.3, + "mdd_pct": 9.25, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 3.53, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.57 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.43 + } + }, + "alpha_pct": -37.57 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.72, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.77, + "trades": 27 + } + ], + "worst_ret": 10.72 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145223494, + "total_return_pct": 45.22, + "cagr_pct": 67.16, + "mdd_pct": 13.54, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 36.4, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.45 + } + }, + "alpha_pct": -49.88 + }, + "test": { + "final_equity": 104993620, + "total_return_pct": 4.99, + "cagr_pct": 16.82, + "mdd_pct": 10.54, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 15.4, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.16 + } + }, + "alpha_pct": -47.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.7, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.48, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.98, + "trades": 15 + } + ], + "worst_ret": 10.7 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145223494, + "total_return_pct": 45.22, + "cagr_pct": 67.16, + "mdd_pct": 13.54, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 36.4, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.45 + } + }, + "alpha_pct": -49.88 + }, + "test": { + "final_equity": 104993620, + "total_return_pct": 4.99, + "cagr_pct": 16.82, + "mdd_pct": 10.54, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 15.4, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.16 + } + }, + "alpha_pct": -47.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.7, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.48, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.98, + "trades": 15 + } + ], + "worst_ret": 10.7 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142754225, + "total_return_pct": 42.75, + "cagr_pct": 63.26, + "mdd_pct": 10.04, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 3.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.92 + } + }, + "alpha_pct": -52.35 + }, + "test": { + "final_equity": 126783539, + "total_return_pct": 26.78, + "cagr_pct": 113.19, + "mdd_pct": 6.36, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 47.4, + "profit_factor": 5.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.95 + } + }, + "alpha_pct": -26.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.66, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.29, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.1, + "trades": 27 + } + ], + "worst_ret": 10.66 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142754225, + "total_return_pct": 42.75, + "cagr_pct": 63.26, + "mdd_pct": 10.04, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 3.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.92 + } + }, + "alpha_pct": -52.35 + }, + "test": { + "final_equity": 126783539, + "total_return_pct": 26.78, + "cagr_pct": 113.19, + "mdd_pct": 6.36, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 47.4, + "profit_factor": 5.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.95 + } + }, + "alpha_pct": -26.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.66, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.29, + "trades": 29 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.1, + "trades": 27 + } + ], + "worst_ret": 10.66 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146151179, + "total_return_pct": 46.15, + "cagr_pct": 68.63, + "mdd_pct": 9.93, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 45.3, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.52 + } + }, + "alpha_pct": -48.95 + }, + "test": { + "final_equity": 126544973, + "total_return_pct": 26.54, + "cagr_pct": 111.91, + "mdd_pct": 6.37, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 42.1, + "profit_factor": 5.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.71 + } + }, + "alpha_pct": -26.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.66, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.92, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.29, + "trades": 27 + } + ], + "worst_ret": 10.66 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146151179, + "total_return_pct": 46.15, + "cagr_pct": 68.63, + "mdd_pct": 9.93, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 45.3, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.52 + } + }, + "alpha_pct": -48.95 + }, + "test": { + "final_equity": 126544973, + "total_return_pct": 26.54, + "cagr_pct": 111.91, + "mdd_pct": 6.37, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 42.1, + "profit_factor": 5.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.71 + } + }, + "alpha_pct": -26.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.66, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.92, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.29, + "trades": 27 + } + ], + "worst_ret": 10.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 157846099, + "total_return_pct": 57.85, + "cagr_pct": 87.49, + "mdd_pct": 9.8, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 37.9, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.18 + } + }, + "alpha_pct": -37.25 + }, + "test": { + "final_equity": 124839483, + "total_return_pct": 24.84, + "cagr_pct": 102.93, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.01 + } + }, + "alpha_pct": -27.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 34.62, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.43, + "trades": 21 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 157846099, + "total_return_pct": 57.85, + "cagr_pct": 87.49, + "mdd_pct": 9.8, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 37.9, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.18 + } + }, + "alpha_pct": -37.25 + }, + "test": { + "final_equity": 124839483, + "total_return_pct": 24.84, + "cagr_pct": 102.93, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.01 + } + }, + "alpha_pct": -27.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 34.62, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.43, + "trades": 21 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 156574294, + "total_return_pct": 56.57, + "cagr_pct": 85.41, + "mdd_pct": 10.99, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 41.6, + "profit_factor": 3.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.9 + } + }, + "alpha_pct": -38.53 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.15, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.38, + "trades": 21 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 156574294, + "total_return_pct": 56.57, + "cagr_pct": 85.41, + "mdd_pct": 10.99, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 41.6, + "profit_factor": 3.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.9 + } + }, + "alpha_pct": -38.53 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.15, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.38, + "trades": 21 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 161479336, + "total_return_pct": 61.48, + "cagr_pct": 93.46, + "mdd_pct": 11.0, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 3.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.81 + } + }, + "alpha_pct": -33.62 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 36.56, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.38, + "trades": 21 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 161479336, + "total_return_pct": 61.48, + "cagr_pct": 93.46, + "mdd_pct": 11.0, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 3.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.81 + } + }, + "alpha_pct": -33.62 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 36.56, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.38, + "trades": 21 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130642185, + "total_return_pct": 30.64, + "cagr_pct": 44.49, + "mdd_pct": 15.04, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 34.1, + "profit_factor": 2.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.03 + } + }, + "alpha_pct": -64.46 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.55, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.49, + "trades": 13 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130642185, + "total_return_pct": 30.64, + "cagr_pct": 44.49, + "mdd_pct": 15.04, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 34.1, + "profit_factor": 2.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.03 + } + }, + "alpha_pct": -64.46 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.55, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.49, + "trades": 13 + } + ], + "worst_ret": 10.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135576190, + "total_return_pct": 35.58, + "cagr_pct": 52.06, + "mdd_pct": 14.81, + "trades": 39, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.09 + } + }, + "alpha_pct": -59.52 + }, + "test": { + "final_equity": 115284426, + "total_return_pct": 15.28, + "cagr_pct": 57.41, + "mdd_pct": 4.74, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.45 + } + }, + "alpha_pct": -37.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.56, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.33, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.1, + "trades": 13 + } + ], + "worst_ret": 10.56 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135576190, + "total_return_pct": 35.58, + "cagr_pct": 52.06, + "mdd_pct": 14.81, + "trades": 39, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.09 + } + }, + "alpha_pct": -59.52 + }, + "test": { + "final_equity": 115284426, + "total_return_pct": 15.28, + "cagr_pct": 57.41, + "mdd_pct": 4.74, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.45 + } + }, + "alpha_pct": -37.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.56, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.33, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.1, + "trades": 13 + } + ], + "worst_ret": 10.56 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133030298, + "total_return_pct": 33.03, + "cagr_pct": 48.14, + "mdd_pct": 15.07, + "trades": 38, + "open_positions": 7, + "win_rate_pct": 36.8, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.64 + } + }, + "alpha_pct": -62.07 + }, + "test": { + "final_equity": 115284426, + "total_return_pct": 15.28, + "cagr_pct": 57.41, + "mdd_pct": 4.74, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.45 + } + }, + "alpha_pct": -37.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.56, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.18, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.1, + "trades": 13 + } + ], + "worst_ret": 10.56 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133030298, + "total_return_pct": 33.03, + "cagr_pct": 48.14, + "mdd_pct": 15.07, + "trades": 38, + "open_positions": 7, + "win_rate_pct": 36.8, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.64 + } + }, + "alpha_pct": -62.07 + }, + "test": { + "final_equity": 115284426, + "total_return_pct": 15.28, + "cagr_pct": 57.41, + "mdd_pct": 4.74, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.45 + } + }, + "alpha_pct": -37.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.56, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.18, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.1, + "trades": 13 + } + ], + "worst_ret": 10.56 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152281402, + "total_return_pct": 52.28, + "cagr_pct": 78.45, + "mdd_pct": 10.15, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 37.9, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.61 + } + }, + "alpha_pct": -42.82 + }, + "test": { + "final_equity": 125239698, + "total_return_pct": 25.24, + "cagr_pct": 105.01, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.41 + } + }, + "alpha_pct": -27.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.55, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.35, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.47, + "trades": 21 + } + ], + "worst_ret": 10.55 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152281402, + "total_return_pct": 52.28, + "cagr_pct": 78.45, + "mdd_pct": 10.15, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 37.9, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.61 + } + }, + "alpha_pct": -42.82 + }, + "test": { + "final_equity": 125239698, + "total_return_pct": 25.24, + "cagr_pct": 105.01, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.41 + } + }, + "alpha_pct": -27.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.55, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.35, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.47, + "trades": 21 + } + ], + "worst_ret": 10.55 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156279311, + "total_return_pct": 56.28, + "cagr_pct": 84.93, + "mdd_pct": 12.09, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 41.6, + "profit_factor": 2.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.61 + } + }, + "alpha_pct": -38.82 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.55, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.88, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.41, + "trades": 21 + } + ], + "worst_ret": 10.55 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156279311, + "total_return_pct": 56.28, + "cagr_pct": 84.93, + "mdd_pct": 12.09, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 41.6, + "profit_factor": 2.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 8.61 + } + }, + "alpha_pct": -38.82 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.55, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.88, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.41, + "trades": 21 + } + ], + "worst_ret": 10.55 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155116150, + "total_return_pct": 55.12, + "cagr_pct": 83.04, + "mdd_pct": 12.1, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 2.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.45 + } + }, + "alpha_pct": -39.98 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.55, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 32.33, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.41, + "trades": 21 + } + ], + "worst_ret": 10.55 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155116150, + "total_return_pct": 55.12, + "cagr_pct": 83.04, + "mdd_pct": 12.1, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 39.5, + "profit_factor": 2.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.45 + } + }, + "alpha_pct": -39.98 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.55, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 32.33, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.41, + "trades": 21 + } + ], + "worst_ret": 10.55 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158622340, + "total_return_pct": 58.62, + "cagr_pct": 88.76, + "mdd_pct": 11.09, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 5.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.95 + } + }, + "alpha_pct": -36.48 + }, + "test": { + "final_equity": 135240632, + "total_return_pct": 35.24, + "cagr_pct": 161.95, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.41 + } + }, + "alpha_pct": -17.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.56, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.41, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 158622340, + "total_return_pct": 58.62, + "cagr_pct": 88.76, + "mdd_pct": 11.09, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 5.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -36.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.95 + } + }, + "alpha_pct": -36.48 + }, + "test": { + "final_equity": 135240632, + "total_return_pct": 35.24, + "cagr_pct": 161.95, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.41 + } + }, + "alpha_pct": -17.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.56, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.41, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147426534, + "total_return_pct": 47.43, + "cagr_pct": 70.66, + "mdd_pct": 9.29, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 4.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.24 + } + }, + "alpha_pct": -47.67 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.96, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.41, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147426534, + "total_return_pct": 47.43, + "cagr_pct": 70.66, + "mdd_pct": 9.29, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 4.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.24 + } + }, + "alpha_pct": -47.67 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.96, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.41, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152393870, + "total_return_pct": 52.39, + "cagr_pct": 78.63, + "mdd_pct": 12.61, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 4.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.72 + } + }, + "alpha_pct": -42.71 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.97, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.41, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152393870, + "total_return_pct": 52.39, + "cagr_pct": 78.63, + "mdd_pct": 12.61, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 4.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.72 + } + }, + "alpha_pct": -42.71 + }, + "test": { + "final_equity": 135187468, + "total_return_pct": 35.19, + "cagr_pct": 161.62, + "mdd_pct": 6.63, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.36 + } + }, + "alpha_pct": -17.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.97, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.41, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158041006, + "total_return_pct": 58.04, + "cagr_pct": 87.81, + "mdd_pct": 11.58, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 5.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.37 + } + }, + "alpha_pct": -37.06 + }, + "test": { + "final_equity": 131912031, + "total_return_pct": 31.91, + "cagr_pct": 141.93, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.08 + } + }, + "alpha_pct": -20.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.74, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.82, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 158041006, + "total_return_pct": 58.04, + "cagr_pct": 87.81, + "mdd_pct": 11.58, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 5.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -37.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 10.37 + } + }, + "alpha_pct": -37.06 + }, + "test": { + "final_equity": 131912031, + "total_return_pct": 31.91, + "cagr_pct": 141.93, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.08 + } + }, + "alpha_pct": -20.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.74, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.82, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147542530, + "total_return_pct": 47.54, + "cagr_pct": 70.85, + "mdd_pct": 9.21, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 4.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.13 + } + }, + "alpha_pct": -47.56 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.35, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.82, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147542530, + "total_return_pct": 47.54, + "cagr_pct": 70.85, + "mdd_pct": 9.21, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 4.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.13 + } + }, + "alpha_pct": -47.56 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.35, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.82, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152557600, + "total_return_pct": 52.56, + "cagr_pct": 78.89, + "mdd_pct": 12.79, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 4.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.89 + } + }, + "alpha_pct": -42.54 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.41, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.82, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152557600, + "total_return_pct": 52.56, + "cagr_pct": 78.89, + "mdd_pct": 12.79, + "trades": 48, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 4.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.89 + } + }, + "alpha_pct": -42.54 + }, + "test": { + "final_equity": 131859256, + "total_return_pct": 31.86, + "cagr_pct": 141.62, + "mdd_pct": 5.58, + "trades": 16, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 5.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.97 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.03 + } + }, + "alpha_pct": -20.97 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.51, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.41, + "trades": 10 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.82, + "trades": 16 + } + ], + "worst_ret": 10.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 169245503, + "total_return_pct": 69.25, + "cagr_pct": 106.39, + "mdd_pct": 10.48, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.58 + } + }, + "alpha_pct": -25.85 + }, + "test": { + "final_equity": 118338930, + "total_return_pct": 18.34, + "cagr_pct": 71.11, + "mdd_pct": 7.45, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 3.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -34.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 32.51 + } + }, + "alpha_pct": -34.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.5, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.23, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.87, + "trades": 29 + } + ], + "worst_ret": 10.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 169245503, + "total_return_pct": 69.25, + "cagr_pct": 106.39, + "mdd_pct": 10.48, + "trades": 52, + "open_positions": 7, + "win_rate_pct": 53.8, + "profit_factor": 5.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -25.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 21.58 + } + }, + "alpha_pct": -25.85 + }, + "test": { + "final_equity": 118338930, + "total_return_pct": 18.34, + "cagr_pct": 71.11, + "mdd_pct": 7.45, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 3.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -34.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 32.51 + } + }, + "alpha_pct": -34.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.5, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.23, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.87, + "trades": 29 + } + ], + "worst_ret": 10.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163889205, + "total_return_pct": 63.89, + "cagr_pct": 97.45, + "mdd_pct": 11.51, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 4.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 16.22 + } + }, + "alpha_pct": -31.21 + }, + "test": { + "final_equity": 116512076, + "total_return_pct": 16.51, + "cagr_pct": 62.82, + "mdd_pct": 6.2, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -36.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 30.68 + } + }, + "alpha_pct": -36.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.5, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.16, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.02, + "trades": 33 + } + ], + "worst_ret": 10.5 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163889205, + "total_return_pct": 63.89, + "cagr_pct": 97.45, + "mdd_pct": 11.51, + "trades": 55, + "open_positions": 7, + "win_rate_pct": 50.9, + "profit_factor": 4.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 16.22 + } + }, + "alpha_pct": -31.21 + }, + "test": { + "final_equity": 116512076, + "total_return_pct": 16.51, + "cagr_pct": 62.82, + "mdd_pct": 6.2, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -36.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 30.68 + } + }, + "alpha_pct": -36.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.5, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.16, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.02, + "trades": 33 + } + ], + "worst_ret": 10.5 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146768963, + "total_return_pct": 46.77, + "cagr_pct": 69.61, + "mdd_pct": 10.01, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.9 + } + }, + "alpha_pct": -48.33 + }, + "test": { + "final_equity": 139761814, + "total_return_pct": 39.76, + "cagr_pct": 190.92, + "mdd_pct": 8.86, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.07 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.93 + } + }, + "alpha_pct": -13.07 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.48, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.0, + "trades": 28 + } + ], + "worst_ret": 10.48 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146768963, + "total_return_pct": 46.77, + "cagr_pct": 69.61, + "mdd_pct": 10.01, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.9 + } + }, + "alpha_pct": -48.33 + }, + "test": { + "final_equity": 139761814, + "total_return_pct": 39.76, + "cagr_pct": 190.92, + "mdd_pct": 8.86, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.07 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.93 + } + }, + "alpha_pct": -13.07 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.48, + "trades": 32 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.0, + "trades": 28 + } + ], + "worst_ret": 10.48 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131033477, + "total_return_pct": 31.03, + "cagr_pct": 45.09, + "mdd_pct": 14.79, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 34.1, + "profit_factor": 2.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.64 + } + }, + "alpha_pct": -64.07 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.9, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 13 + } + ], + "worst_ret": 10.45 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131033477, + "total_return_pct": 31.03, + "cagr_pct": 45.09, + "mdd_pct": 14.79, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 34.1, + "profit_factor": 2.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.64 + } + }, + "alpha_pct": -64.07 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.9, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 13 + } + ], + "worst_ret": 10.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130335989, + "total_return_pct": 30.34, + "cagr_pct": 44.03, + "mdd_pct": 11.44, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.33 + } + }, + "alpha_pct": -64.76 + }, + "test": { + "final_equity": 97825030, + "total_return_pct": -2.17, + "cagr_pct": -6.77, + "mdd_pct": 10.74, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.0 + } + }, + "alpha_pct": -55.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.42, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.74, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.47, + "trades": 24 + } + ], + "worst_ret": 10.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130335989, + "total_return_pct": 30.34, + "cagr_pct": 44.03, + "mdd_pct": 11.44, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.33 + } + }, + "alpha_pct": -64.76 + }, + "test": { + "final_equity": 97825030, + "total_return_pct": -2.17, + "cagr_pct": -6.77, + "mdd_pct": 10.74, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.0 + } + }, + "alpha_pct": -55.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.42, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.74, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.47, + "trades": 24 + } + ], + "worst_ret": 10.42 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156749855, + "total_return_pct": 56.75, + "cagr_pct": 85.7, + "mdd_pct": 11.19, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 40.7, + "profit_factor": 4.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.08 + } + }, + "alpha_pct": -38.35 + }, + "test": { + "final_equity": 134232373, + "total_return_pct": 34.23, + "cagr_pct": 155.77, + "mdd_pct": 6.86, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.6 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.4 + } + }, + "alpha_pct": -18.6 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.32, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.5, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.8, + "trades": 28 + } + ], + "worst_ret": 10.32 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156749855, + "total_return_pct": 56.75, + "cagr_pct": 85.7, + "mdd_pct": 11.19, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 40.7, + "profit_factor": 4.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.08 + } + }, + "alpha_pct": -38.35 + }, + "test": { + "final_equity": 134232373, + "total_return_pct": 34.23, + "cagr_pct": 155.77, + "mdd_pct": 6.86, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 5.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.6 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.4 + } + }, + "alpha_pct": -18.6 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.32, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.5, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.8, + "trades": 28 + } + ], + "worst_ret": 10.32 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161588275, + "total_return_pct": 61.59, + "cagr_pct": 93.64, + "mdd_pct": 10.62, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 44.0, + "profit_factor": 4.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.92 + } + }, + "alpha_pct": -33.51 + }, + "test": { + "final_equity": 133484927, + "total_return_pct": 33.48, + "cagr_pct": 151.25, + "mdd_pct": 6.89, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 5.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.65 + } + }, + "alpha_pct": -19.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.32, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.78, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.69, + "trades": 27 + } + ], + "worst_ret": 10.32 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 161588275, + "total_return_pct": 61.59, + "cagr_pct": 93.64, + "mdd_pct": 10.62, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 44.0, + "profit_factor": 4.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -33.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 13.92 + } + }, + "alpha_pct": -33.51 + }, + "test": { + "final_equity": 133484927, + "total_return_pct": 33.48, + "cagr_pct": 151.25, + "mdd_pct": 6.89, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 5.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.65 + } + }, + "alpha_pct": -19.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.32, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.78, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 36.69, + "trades": 27 + } + ], + "worst_ret": 10.32 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149703350, + "total_return_pct": 49.7, + "cagr_pct": 74.3, + "mdd_pct": 12.99, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 35.6, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.03 + } + }, + "alpha_pct": -45.4 + }, + "test": { + "final_equity": 136190820, + "total_return_pct": 36.19, + "cagr_pct": 167.86, + "mdd_pct": 7.42, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 3.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.36 + } + }, + "alpha_pct": -16.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.04, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.89, + "trades": 23 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149703350, + "total_return_pct": 49.7, + "cagr_pct": 74.3, + "mdd_pct": 12.99, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 35.6, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.03 + } + }, + "alpha_pct": -45.4 + }, + "test": { + "final_equity": 136190820, + "total_return_pct": 36.19, + "cagr_pct": 167.86, + "mdd_pct": 7.42, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 3.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.36 + } + }, + "alpha_pct": -16.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.04, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 34.89, + "trades": 23 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146849981, + "total_return_pct": 46.85, + "cagr_pct": 69.74, + "mdd_pct": 12.44, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 33.8, + "profit_factor": 2.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.82 + } + }, + "alpha_pct": -48.25 + }, + "test": { + "final_equity": 134945766, + "total_return_pct": 34.95, + "cagr_pct": 160.13, + "mdd_pct": 9.54, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 25.0, + "profit_factor": 3.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.12 + } + }, + "alpha_pct": -17.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.32, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.89, + "trades": 20 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146849981, + "total_return_pct": 46.85, + "cagr_pct": 69.74, + "mdd_pct": 12.44, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 33.8, + "profit_factor": 2.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.82 + } + }, + "alpha_pct": -48.25 + }, + "test": { + "final_equity": 134945766, + "total_return_pct": 34.95, + "cagr_pct": 160.13, + "mdd_pct": 9.54, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 25.0, + "profit_factor": 3.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.12 + } + }, + "alpha_pct": -17.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.32, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.89, + "trades": 20 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151458394, + "total_return_pct": 51.46, + "cagr_pct": 77.12, + "mdd_pct": 13.68, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.79 + } + }, + "alpha_pct": -43.64 + }, + "test": { + "final_equity": 133782898, + "total_return_pct": 33.78, + "cagr_pct": 153.05, + "mdd_pct": 7.56, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.21, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.95 + } + }, + "alpha_pct": -19.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 32.17, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.84, + "trades": 24 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 151458394, + "total_return_pct": 51.46, + "cagr_pct": 77.12, + "mdd_pct": 13.68, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.79 + } + }, + "alpha_pct": -43.64 + }, + "test": { + "final_equity": 133782898, + "total_return_pct": 33.78, + "cagr_pct": 153.05, + "mdd_pct": 7.56, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.21, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.95 + } + }, + "alpha_pct": -19.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 32.17, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.84, + "trades": 24 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144331814, + "total_return_pct": 44.33, + "cagr_pct": 65.75, + "mdd_pct": 10.05, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 46.2, + "profit_factor": 4.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.34 + } + }, + "alpha_pct": -50.77 + }, + "test": { + "final_equity": 124191203, + "total_return_pct": 24.19, + "cagr_pct": 99.59, + "mdd_pct": 4.76, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 46.7, + "profit_factor": 6.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.36 + } + }, + "alpha_pct": -28.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.52, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.43, + "trades": 20 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144331814, + "total_return_pct": 44.33, + "cagr_pct": 65.75, + "mdd_pct": 10.05, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 46.2, + "profit_factor": 4.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.34 + } + }, + "alpha_pct": -50.77 + }, + "test": { + "final_equity": 124191203, + "total_return_pct": 24.19, + "cagr_pct": 99.59, + "mdd_pct": 4.76, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 46.7, + "profit_factor": 6.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.36 + } + }, + "alpha_pct": -28.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.52, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.43, + "trades": 20 + } + ], + "worst_ret": 10.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 164817494, + "total_return_pct": 64.82, + "cagr_pct": 98.99, + "mdd_pct": 11.53, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 48.9, + "profit_factor": 5.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.28 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.15 + } + }, + "alpha_pct": -30.28 + }, + "test": { + "final_equity": 122369721, + "total_return_pct": 22.37, + "cagr_pct": 90.4, + "mdd_pct": 8.43, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 3.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.54 + } + }, + "alpha_pct": -30.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.17, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.74, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.99, + "trades": 13 + } + ], + "worst_ret": 10.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 164817494, + "total_return_pct": 64.82, + "cagr_pct": 98.99, + "mdd_pct": 11.53, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 48.9, + "profit_factor": 5.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -30.28 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 17.15 + } + }, + "alpha_pct": -30.28 + }, + "test": { + "final_equity": 122369721, + "total_return_pct": 22.37, + "cagr_pct": 90.4, + "mdd_pct": 8.43, + "trades": 16, + "open_positions": 6, + "win_rate_pct": 31.2, + "profit_factor": 3.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.54 + } + }, + "alpha_pct": -30.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.17, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.74, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.99, + "trades": 13 + } + ], + "worst_ret": 10.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163500067, + "total_return_pct": 63.5, + "cagr_pct": 96.8, + "mdd_pct": 11.68, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 6.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.83 + } + }, + "alpha_pct": -31.6 + }, + "test": { + "final_equity": 121610801, + "total_return_pct": 21.61, + "cagr_pct": 86.66, + "mdd_pct": 6.08, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 36.8, + "profit_factor": 3.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.78 + } + }, + "alpha_pct": -31.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.17, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.83, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.45, + "trades": 20 + } + ], + "worst_ret": 10.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 163500067, + "total_return_pct": 63.5, + "cagr_pct": 96.8, + "mdd_pct": 11.68, + "trades": 51, + "open_positions": 7, + "win_rate_pct": 51.0, + "profit_factor": 6.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -31.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 15.83 + } + }, + "alpha_pct": -31.6 + }, + "test": { + "final_equity": 121610801, + "total_return_pct": 21.61, + "cagr_pct": 86.66, + "mdd_pct": 6.08, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 36.8, + "profit_factor": 3.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.78 + } + }, + "alpha_pct": -31.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.17, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.83, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.45, + "trades": 20 + } + ], + "worst_ret": 10.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 165774463, + "total_return_pct": 65.77, + "cagr_pct": 100.58, + "mdd_pct": 11.65, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 52.0, + "profit_factor": 6.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.1 + } + }, + "alpha_pct": -29.33 + }, + "test": { + "final_equity": 120829211, + "total_return_pct": 20.83, + "cagr_pct": 82.86, + "mdd_pct": 6.94, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.0 + } + }, + "alpha_pct": -32.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.17, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.83, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.45, + "trades": 20 + } + ], + "worst_ret": 10.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 165774463, + "total_return_pct": 65.77, + "cagr_pct": 100.58, + "mdd_pct": 11.65, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 52.0, + "profit_factor": 6.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -29.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 18.1 + } + }, + "alpha_pct": -29.33 + }, + "test": { + "final_equity": 120829211, + "total_return_pct": 20.83, + "cagr_pct": 82.86, + "mdd_pct": 6.94, + "trades": 19, + "open_positions": 5, + "win_rate_pct": 31.6, + "profit_factor": 3.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.0 + } + }, + "alpha_pct": -32.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.17, + "trades": 12 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.83, + "trades": 8 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 19.45, + "trades": 20 + } + ], + "worst_ret": 10.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156791466, + "total_return_pct": 56.79, + "cagr_pct": 85.77, + "mdd_pct": 11.15, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 38.6, + "profit_factor": 5.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.12 + } + }, + "alpha_pct": -38.31 + }, + "test": { + "final_equity": 145287731, + "total_return_pct": 45.29, + "cagr_pct": 229.22, + "mdd_pct": 10.44, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 41.7, + "profit_factor": 7.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -7.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 59.46 + } + }, + "alpha_pct": -7.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.12, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.15, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.72, + "trades": 13 + } + ], + "worst_ret": 10.12 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156791466, + "total_return_pct": 56.79, + "cagr_pct": 85.77, + "mdd_pct": 11.15, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 38.6, + "profit_factor": 5.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.12 + } + }, + "alpha_pct": -38.31 + }, + "test": { + "final_equity": 145287731, + "total_return_pct": 45.29, + "cagr_pct": 229.22, + "mdd_pct": 10.44, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 41.7, + "profit_factor": 7.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -7.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 59.46 + } + }, + "alpha_pct": -7.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.12, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.15, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.72, + "trades": 13 + } + ], + "worst_ret": 10.12 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149911485, + "total_return_pct": 49.91, + "cagr_pct": 74.64, + "mdd_pct": 12.4, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 4.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.24 + } + }, + "alpha_pct": -45.19 + }, + "test": { + "final_equity": 136167795, + "total_return_pct": 36.17, + "cagr_pct": 167.72, + "mdd_pct": 6.96, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.34 + } + }, + "alpha_pct": -16.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.12, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.96, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.5, + "trades": 16 + } + ], + "worst_ret": 10.12 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149911485, + "total_return_pct": 49.91, + "cagr_pct": 74.64, + "mdd_pct": 12.4, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 4.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.24 + } + }, + "alpha_pct": -45.19 + }, + "test": { + "final_equity": 136167795, + "total_return_pct": 36.17, + "cagr_pct": 167.72, + "mdd_pct": 6.96, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.34 + } + }, + "alpha_pct": -16.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.12, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.96, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.5, + "trades": 16 + } + ], + "worst_ret": 10.12 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152295778, + "total_return_pct": 52.3, + "cagr_pct": 78.47, + "mdd_pct": 12.58, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 4.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.63 + } + }, + "alpha_pct": -42.8 + }, + "test": { + "final_equity": 136167795, + "total_return_pct": 36.17, + "cagr_pct": 167.72, + "mdd_pct": 6.96, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.34 + } + }, + "alpha_pct": -16.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.12, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.8, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.5, + "trades": 16 + } + ], + "worst_ret": 10.12 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152295778, + "total_return_pct": 52.3, + "cagr_pct": 78.47, + "mdd_pct": 12.58, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 4.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.63 + } + }, + "alpha_pct": -42.8 + }, + "test": { + "final_equity": 136167795, + "total_return_pct": 36.17, + "cagr_pct": 167.72, + "mdd_pct": 6.96, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.34 + } + }, + "alpha_pct": -16.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.12, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.8, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.5, + "trades": 16 + } + ], + "worst_ret": 10.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150988119, + "total_return_pct": 50.99, + "cagr_pct": 76.37, + "mdd_pct": 11.05, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 45.1, + "profit_factor": 4.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.32 + } + }, + "alpha_pct": -44.11 + }, + "test": { + "final_equity": 120753118, + "total_return_pct": 20.75, + "cagr_pct": 82.49, + "mdd_pct": 4.78, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.08 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.92 + } + }, + "alpha_pct": -32.08 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.11, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.63, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.39, + "trades": 28 + } + ], + "worst_ret": 10.11 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150988119, + "total_return_pct": 50.99, + "cagr_pct": 76.37, + "mdd_pct": 11.05, + "trades": 51, + "open_positions": 8, + "win_rate_pct": 45.1, + "profit_factor": 4.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 3.32 + } + }, + "alpha_pct": -44.11 + }, + "test": { + "final_equity": 120753118, + "total_return_pct": 20.75, + "cagr_pct": 82.49, + "mdd_pct": 4.78, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.08 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.92 + } + }, + "alpha_pct": -32.08 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.11, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.63, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.39, + "trades": 28 + } + ], + "worst_ret": 10.11 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155626879, + "total_return_pct": 55.63, + "cagr_pct": 83.87, + "mdd_pct": 10.26, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 48.9, + "profit_factor": 4.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.96 + } + }, + "alpha_pct": -39.47 + }, + "test": { + "final_equity": 119771960, + "total_return_pct": 19.77, + "cagr_pct": 77.8, + "mdd_pct": 4.76, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 3.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.94 + } + }, + "alpha_pct": -33.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.11, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.29, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.02, + "trades": 27 + } + ], + "worst_ret": 10.11 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 155626879, + "total_return_pct": 55.63, + "cagr_pct": 83.87, + "mdd_pct": 10.26, + "trades": 47, + "open_positions": 8, + "win_rate_pct": 48.9, + "profit_factor": 4.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.96 + } + }, + "alpha_pct": -39.47 + }, + "test": { + "final_equity": 119771960, + "total_return_pct": 19.77, + "cagr_pct": 77.8, + "mdd_pct": 4.76, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 35.3, + "profit_factor": 3.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.94 + } + }, + "alpha_pct": -33.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.11, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.29, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.02, + "trades": 27 + } + ], + "worst_ret": 10.11 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148746617, + "total_return_pct": 48.75, + "cagr_pct": 72.77, + "mdd_pct": 9.96, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.08 + } + }, + "alpha_pct": -46.35 + }, + "test": { + "final_equity": 129560997, + "total_return_pct": 29.56, + "cagr_pct": 128.44, + "mdd_pct": 6.11, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.73 + } + }, + "alpha_pct": -23.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.86, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.9, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.04, + "trades": 29 + } + ], + "worst_ret": 9.9 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148746617, + "total_return_pct": 48.75, + "cagr_pct": 72.77, + "mdd_pct": 9.96, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.08 + } + }, + "alpha_pct": -46.35 + }, + "test": { + "final_equity": 129560997, + "total_return_pct": 29.56, + "cagr_pct": 128.44, + "mdd_pct": 6.11, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.73 + } + }, + "alpha_pct": -23.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.86, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.9, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.04, + "trades": 29 + } + ], + "worst_ret": 9.9 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155324420, + "total_return_pct": 55.32, + "cagr_pct": 83.38, + "mdd_pct": 10.0, + "trades": 56, + "open_positions": 8, + "win_rate_pct": 35.7, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.65 + } + }, + "alpha_pct": -39.78 + }, + "test": { + "final_equity": 115917051, + "total_return_pct": 15.92, + "cagr_pct": 60.18, + "mdd_pct": 10.63, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 2.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -36.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 30.09 + } + }, + "alpha_pct": -36.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.2, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.9, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.22, + "trades": 32 + } + ], + "worst_ret": 9.9 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 155324420, + "total_return_pct": 55.32, + "cagr_pct": 83.38, + "mdd_pct": 10.0, + "trades": 56, + "open_positions": 8, + "win_rate_pct": 35.7, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -39.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 7.65 + } + }, + "alpha_pct": -39.78 + }, + "test": { + "final_equity": 115917051, + "total_return_pct": 15.92, + "cagr_pct": 60.18, + "mdd_pct": 10.63, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 2.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -36.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 30.09 + } + }, + "alpha_pct": -36.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 18.2, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.9, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.22, + "trades": 32 + } + ], + "worst_ret": 9.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144105426, + "total_return_pct": 44.11, + "cagr_pct": 65.39, + "mdd_pct": 10.4, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 36.0, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.56 + } + }, + "alpha_pct": -50.99 + }, + "test": { + "final_equity": 128512118, + "total_return_pct": 28.51, + "cagr_pct": 122.6, + "mdd_pct": 6.23, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 5.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.68 + } + }, + "alpha_pct": -24.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.79, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.48, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.91, + "trades": 18 + } + ], + "worst_ret": 9.79 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144105426, + "total_return_pct": 44.11, + "cagr_pct": 65.39, + "mdd_pct": 10.4, + "trades": 50, + "open_positions": 7, + "win_rate_pct": 36.0, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.56 + } + }, + "alpha_pct": -50.99 + }, + "test": { + "final_equity": 128512118, + "total_return_pct": 28.51, + "cagr_pct": 122.6, + "mdd_pct": 6.23, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 45.5, + "profit_factor": 5.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.68 + } + }, + "alpha_pct": -24.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.79, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.48, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.91, + "trades": 18 + } + ], + "worst_ret": 9.79 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152482397, + "total_return_pct": 52.48, + "cagr_pct": 78.77, + "mdd_pct": 10.0, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.81 + } + }, + "alpha_pct": -42.62 + }, + "test": { + "final_equity": 121914168, + "total_return_pct": 21.91, + "cagr_pct": 88.15, + "mdd_pct": 4.76, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.08 + } + }, + "alpha_pct": -30.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.79, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.0, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.24, + "trades": 21 + } + ], + "worst_ret": 9.79 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152482397, + "total_return_pct": 52.48, + "cagr_pct": 78.77, + "mdd_pct": 10.0, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.81 + } + }, + "alpha_pct": -42.62 + }, + "test": { + "final_equity": 121914168, + "total_return_pct": 21.91, + "cagr_pct": 88.15, + "mdd_pct": 4.76, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.08 + } + }, + "alpha_pct": -30.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.79, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.0, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.24, + "trades": 21 + } + ], + "worst_ret": 9.79 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152036942, + "total_return_pct": 52.04, + "cagr_pct": 78.05, + "mdd_pct": 9.46, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.37 + } + }, + "alpha_pct": -43.06 + }, + "test": { + "final_equity": 121914168, + "total_return_pct": 21.91, + "cagr_pct": 88.15, + "mdd_pct": 4.76, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.08 + } + }, + "alpha_pct": -30.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.79, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.08, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.24, + "trades": 21 + } + ], + "worst_ret": 9.79 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152036942, + "total_return_pct": 52.04, + "cagr_pct": 78.05, + "mdd_pct": 9.46, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -43.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.37 + } + }, + "alpha_pct": -43.06 + }, + "test": { + "final_equity": 121914168, + "total_return_pct": 21.91, + "cagr_pct": 88.15, + "mdd_pct": 4.76, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 38.9, + "profit_factor": 3.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.08 + } + }, + "alpha_pct": -30.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.79, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.08, + "trades": 11 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.24, + "trades": 21 + } + ], + "worst_ret": 9.79 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144298072, + "total_return_pct": 44.3, + "cagr_pct": 65.7, + "mdd_pct": 9.96, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.37 + } + }, + "alpha_pct": -50.8 + }, + "test": { + "final_equity": 129560997, + "total_return_pct": 29.56, + "cagr_pct": 128.44, + "mdd_pct": 6.11, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.73 + } + }, + "alpha_pct": -23.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.43, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.73, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.04, + "trades": 29 + } + ], + "worst_ret": 9.73 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144298072, + "total_return_pct": 44.3, + "cagr_pct": 65.7, + "mdd_pct": 9.96, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.37 + } + }, + "alpha_pct": -50.8 + }, + "test": { + "final_equity": 129560997, + "total_return_pct": 29.56, + "cagr_pct": 128.44, + "mdd_pct": 6.11, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.73 + } + }, + "alpha_pct": -23.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.43, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.73, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.04, + "trades": 29 + } + ], + "worst_ret": 9.73 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141604016, + "total_return_pct": 41.6, + "cagr_pct": 61.45, + "mdd_pct": 12.52, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 34.9, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.07 + } + }, + "alpha_pct": -53.5 + }, + "test": { + "final_equity": 105531025, + "total_return_pct": 5.53, + "cagr_pct": 18.74, + "mdd_pct": 7.18, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 1.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.7 + } + }, + "alpha_pct": -47.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.32, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.67, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.62, + "trades": 23 + } + ], + "worst_ret": 9.67 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141604016, + "total_return_pct": 41.6, + "cagr_pct": 61.45, + "mdd_pct": 12.52, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 34.9, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.07 + } + }, + "alpha_pct": -53.5 + }, + "test": { + "final_equity": 105531025, + "total_return_pct": 5.53, + "cagr_pct": 18.74, + "mdd_pct": 7.18, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 1.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.7 + } + }, + "alpha_pct": -47.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.32, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.67, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.62, + "trades": 23 + } + ], + "worst_ret": 9.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145787735, + "total_return_pct": 45.79, + "cagr_pct": 68.06, + "mdd_pct": 11.66, + "trades": 43, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 5.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.88 + } + }, + "alpha_pct": -49.31 + }, + "test": { + "final_equity": 125310996, + "total_return_pct": 25.31, + "cagr_pct": 105.39, + "mdd_pct": 4.58, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.48 + } + }, + "alpha_pct": -27.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.66, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.98, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.94, + "trades": 13 + } + ], + "worst_ret": 9.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145787735, + "total_return_pct": 45.79, + "cagr_pct": 68.06, + "mdd_pct": 11.66, + "trades": 43, + "open_positions": 8, + "win_rate_pct": 44.2, + "profit_factor": 5.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.88 + } + }, + "alpha_pct": -49.31 + }, + "test": { + "final_equity": 125310996, + "total_return_pct": 25.31, + "cagr_pct": 105.39, + "mdd_pct": 4.58, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.48 + } + }, + "alpha_pct": -27.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.66, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.98, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.94, + "trades": 13 + } + ], + "worst_ret": 9.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147624640, + "total_return_pct": 47.62, + "cagr_pct": 70.98, + "mdd_pct": 11.86, + "trades": 42, + "open_positions": 8, + "win_rate_pct": 45.2, + "profit_factor": 5.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.05 + } + }, + "alpha_pct": -47.48 + }, + "test": { + "final_equity": 125310996, + "total_return_pct": 25.31, + "cagr_pct": 105.39, + "mdd_pct": 4.58, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.48 + } + }, + "alpha_pct": -27.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.66, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.82, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.94, + "trades": 13 + } + ], + "worst_ret": 9.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147624640, + "total_return_pct": 47.62, + "cagr_pct": 70.98, + "mdd_pct": 11.86, + "trades": 42, + "open_positions": 8, + "win_rate_pct": 45.2, + "profit_factor": 5.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.05 + } + }, + "alpha_pct": -47.48 + }, + "test": { + "final_equity": 125310996, + "total_return_pct": 25.31, + "cagr_pct": 105.39, + "mdd_pct": 4.58, + "trades": 13, + "open_positions": 6, + "win_rate_pct": 53.8, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.48 + } + }, + "alpha_pct": -27.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.66, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.82, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.94, + "trades": 13 + } + ], + "worst_ret": 9.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135366693, + "total_return_pct": 35.37, + "cagr_pct": 51.74, + "mdd_pct": 15.52, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 27.6, + "profit_factor": 1.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.3 + } + }, + "alpha_pct": -59.73 + }, + "test": { + "final_equity": 105019783, + "total_return_pct": 5.02, + "cagr_pct": 16.91, + "mdd_pct": 9.91, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.19 + } + }, + "alpha_pct": -47.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.63, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.33, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.34, + "trades": 18 + } + ], + "worst_ret": 9.63 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135366693, + "total_return_pct": 35.37, + "cagr_pct": 51.74, + "mdd_pct": 15.52, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 27.6, + "profit_factor": 1.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.3 + } + }, + "alpha_pct": -59.73 + }, + "test": { + "final_equity": 105019783, + "total_return_pct": 5.02, + "cagr_pct": 16.91, + "mdd_pct": 9.91, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.19 + } + }, + "alpha_pct": -47.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.63, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.33, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.34, + "trades": 18 + } + ], + "worst_ret": 9.63 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139422221, + "total_return_pct": 39.42, + "cagr_pct": 58.03, + "mdd_pct": 11.17, + "trades": 68, + "open_positions": 5, + "win_rate_pct": 44.1, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.25 + } + }, + "alpha_pct": -55.68 + }, + "test": { + "final_equity": 133034784, + "total_return_pct": 33.03, + "cagr_pct": 148.56, + "mdd_pct": 6.52, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.2 + } + }, + "alpha_pct": -19.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.62, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.08, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.98, + "trades": 25 + } + ], + "worst_ret": 9.62 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139422221, + "total_return_pct": 39.42, + "cagr_pct": 58.03, + "mdd_pct": 11.17, + "trades": 68, + "open_positions": 5, + "win_rate_pct": 44.1, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.25 + } + }, + "alpha_pct": -55.68 + }, + "test": { + "final_equity": 133034784, + "total_return_pct": 33.03, + "cagr_pct": 148.56, + "mdd_pct": 6.52, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.2 + } + }, + "alpha_pct": -19.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.62, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.08, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.98, + "trades": 25 + } + ], + "worst_ret": 9.62 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144969166, + "total_return_pct": 44.97, + "cagr_pct": 66.76, + "mdd_pct": 9.31, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.7 + } + }, + "alpha_pct": -50.13 + }, + "test": { + "final_equity": 127114971, + "total_return_pct": 27.11, + "cagr_pct": 114.97, + "mdd_pct": 6.16, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.28 + } + }, + "alpha_pct": -25.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.8, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.59, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.0, + "trades": 29 + } + ], + "worst_ret": 9.59 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144969166, + "total_return_pct": 44.97, + "cagr_pct": 66.76, + "mdd_pct": 9.31, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.7 + } + }, + "alpha_pct": -50.13 + }, + "test": { + "final_equity": 127114971, + "total_return_pct": 27.11, + "cagr_pct": 114.97, + "mdd_pct": 6.16, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.28 + } + }, + "alpha_pct": -25.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.8, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.59, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.0, + "trades": 29 + } + ], + "worst_ret": 9.59 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127841603, + "total_return_pct": 27.84, + "cagr_pct": 40.25, + "mdd_pct": 10.99, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 38.6, + "profit_factor": 2.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.83 + } + }, + "alpha_pct": -67.26 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.49, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 13 + } + ], + "worst_ret": 9.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127841603, + "total_return_pct": 27.84, + "cagr_pct": 40.25, + "mdd_pct": 10.99, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 38.6, + "profit_factor": 2.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.83 + } + }, + "alpha_pct": -67.26 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.49, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 13 + } + ], + "worst_ret": 9.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133188694, + "total_return_pct": 33.19, + "cagr_pct": 48.39, + "mdd_pct": 15.02, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 3.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.48 + } + }, + "alpha_pct": -61.91 + }, + "test": { + "final_equity": 106866323, + "total_return_pct": 6.87, + "cagr_pct": 23.59, + "mdd_pct": 10.02, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 1.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.96 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.04 + } + }, + "alpha_pct": -45.96 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.63, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.49, + "trades": 13 + } + ], + "worst_ret": 9.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133188694, + "total_return_pct": 33.19, + "cagr_pct": 48.39, + "mdd_pct": 15.02, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 3.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.48 + } + }, + "alpha_pct": -61.91 + }, + "test": { + "final_equity": 106866323, + "total_return_pct": 6.87, + "cagr_pct": 23.59, + "mdd_pct": 10.02, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 1.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.96 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.04 + } + }, + "alpha_pct": -45.96 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.63, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.49, + "trades": 13 + } + ], + "worst_ret": 9.49 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142828343, + "total_return_pct": 42.83, + "cagr_pct": 63.38, + "mdd_pct": 9.31, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 3.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.84 + } + }, + "alpha_pct": -52.27 + }, + "test": { + "final_equity": 127114971, + "total_return_pct": 27.11, + "cagr_pct": 114.97, + "mdd_pct": 6.16, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.28 + } + }, + "alpha_pct": -25.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.26, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.47, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.0, + "trades": 29 + } + ], + "worst_ret": 9.47 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142828343, + "total_return_pct": 42.83, + "cagr_pct": 63.38, + "mdd_pct": 9.31, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 3.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.84 + } + }, + "alpha_pct": -52.27 + }, + "test": { + "final_equity": 127114971, + "total_return_pct": 27.11, + "cagr_pct": 114.97, + "mdd_pct": 6.16, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.28 + } + }, + "alpha_pct": -25.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.26, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.47, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.0, + "trades": 29 + } + ], + "worst_ret": 9.47 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138367522, + "total_return_pct": 38.37, + "cagr_pct": 56.39, + "mdd_pct": 11.48, + "trades": 68, + "open_positions": 5, + "win_rate_pct": 44.1, + "profit_factor": 3.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.3 + } + }, + "alpha_pct": -56.73 + }, + "test": { + "final_equity": 138034337, + "total_return_pct": 38.03, + "cagr_pct": 179.6, + "mdd_pct": 7.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.2 + } + }, + "alpha_pct": -14.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.45, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.71, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 39.43, + "trades": 25 + } + ], + "worst_ret": 9.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138367522, + "total_return_pct": 38.37, + "cagr_pct": 56.39, + "mdd_pct": 11.48, + "trades": 68, + "open_positions": 5, + "win_rate_pct": 44.1, + "profit_factor": 3.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.3 + } + }, + "alpha_pct": -56.73 + }, + "test": { + "final_equity": 138034337, + "total_return_pct": 38.03, + "cagr_pct": 179.6, + "mdd_pct": 7.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.2 + } + }, + "alpha_pct": -14.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.45, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.71, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 39.43, + "trades": 25 + } + ], + "worst_ret": 9.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144955212, + "total_return_pct": 44.96, + "cagr_pct": 66.74, + "mdd_pct": 12.58, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.71 + } + }, + "alpha_pct": -50.14 + }, + "test": { + "final_equity": 99353540, + "total_return_pct": -0.65, + "cagr_pct": -2.05, + "mdd_pct": 11.18, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.52 + } + }, + "alpha_pct": -53.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.05, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.43, + "trades": 32 + } + ], + "worst_ret": 9.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144955212, + "total_return_pct": 44.96, + "cagr_pct": 66.74, + "mdd_pct": 12.58, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.71 + } + }, + "alpha_pct": -50.14 + }, + "test": { + "final_equity": 99353540, + "total_return_pct": -0.65, + "cagr_pct": -2.05, + "mdd_pct": 11.18, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.52 + } + }, + "alpha_pct": -53.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.29, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.05, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.43, + "trades": 32 + } + ], + "worst_ret": 9.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145836175, + "total_return_pct": 45.84, + "cagr_pct": 68.13, + "mdd_pct": 13.66, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 2.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.83 + } + }, + "alpha_pct": -49.26 + }, + "test": { + "final_equity": 100974895, + "total_return_pct": 0.97, + "cagr_pct": 3.14, + "mdd_pct": 8.41, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.14 + } + }, + "alpha_pct": -51.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.79, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.41, + "trades": 20 + } + ], + "worst_ret": 9.42 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145836175, + "total_return_pct": 45.84, + "cagr_pct": 68.13, + "mdd_pct": 13.66, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 2.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.83 + } + }, + "alpha_pct": -49.26 + }, + "test": { + "final_equity": 100974895, + "total_return_pct": 0.97, + "cagr_pct": 3.14, + "mdd_pct": 8.41, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.14 + } + }, + "alpha_pct": -51.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.79, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.41, + "trades": 20 + } + ], + "worst_ret": 9.42 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144485279, + "total_return_pct": 44.49, + "cagr_pct": 65.99, + "mdd_pct": 15.57, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.18 + } + }, + "alpha_pct": -50.61 + }, + "test": { + "final_equity": 100090141, + "total_return_pct": 0.09, + "cagr_pct": 0.29, + "mdd_pct": 10.08, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.26 + } + }, + "alpha_pct": -52.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.46, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 16.0, + "trades": 20 + } + ], + "worst_ret": 9.42 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144485279, + "total_return_pct": 44.49, + "cagr_pct": 65.99, + "mdd_pct": 15.57, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 36.6, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.18 + } + }, + "alpha_pct": -50.61 + }, + "test": { + "final_equity": 100090141, + "total_return_pct": 0.09, + "cagr_pct": 0.29, + "mdd_pct": 10.08, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.26 + } + }, + "alpha_pct": -52.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.46, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 16.0, + "trades": 20 + } + ], + "worst_ret": 9.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149384839, + "total_return_pct": 49.38, + "cagr_pct": 73.79, + "mdd_pct": 9.95, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.71 + } + }, + "alpha_pct": -45.72 + }, + "test": { + "final_equity": 131341902, + "total_return_pct": 31.34, + "cagr_pct": 138.61, + "mdd_pct": 7.9, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.51 + } + }, + "alpha_pct": -21.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.01, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.4, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.57, + "trades": 29 + } + ], + "worst_ret": 9.4 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149384839, + "total_return_pct": 49.38, + "cagr_pct": 73.79, + "mdd_pct": 9.95, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 41.4, + "profit_factor": 3.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.71 + } + }, + "alpha_pct": -45.72 + }, + "test": { + "final_equity": 131341902, + "total_return_pct": 31.34, + "cagr_pct": 138.61, + "mdd_pct": 7.9, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.51 + } + }, + "alpha_pct": -21.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.01, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.4, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.57, + "trades": 29 + } + ], + "worst_ret": 9.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 140702378, + "total_return_pct": 40.7, + "cagr_pct": 60.04, + "mdd_pct": 14.34, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 33.9, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.97 + } + }, + "alpha_pct": -54.4 + }, + "test": { + "final_equity": 105651544, + "total_return_pct": 5.65, + "cagr_pct": 19.17, + "mdd_pct": 8.28, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.18 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.82 + } + }, + "alpha_pct": -47.18 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.4, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.86, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.06, + "trades": 22 + } + ], + "worst_ret": 9.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 140702378, + "total_return_pct": 40.7, + "cagr_pct": 60.04, + "mdd_pct": 14.34, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 33.9, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.97 + } + }, + "alpha_pct": -54.4 + }, + "test": { + "final_equity": 105651544, + "total_return_pct": 5.65, + "cagr_pct": 19.17, + "mdd_pct": 8.28, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.18 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.82 + } + }, + "alpha_pct": -47.18 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.4, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.86, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.06, + "trades": 22 + } + ], + "worst_ret": 9.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146645726, + "total_return_pct": 46.65, + "cagr_pct": 69.42, + "mdd_pct": 11.87, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 29.6, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.02 + } + }, + "alpha_pct": -48.45 + }, + "test": { + "final_equity": 97831847, + "total_return_pct": -2.17, + "cagr_pct": -6.75, + "mdd_pct": 17.53, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 13.3, + "profit_factor": 0.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.0 + } + }, + "alpha_pct": -55.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.4, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.73, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.71, + "trades": 16 + } + ], + "worst_ret": 9.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146645726, + "total_return_pct": 46.65, + "cagr_pct": 69.42, + "mdd_pct": 11.87, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 29.6, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.02 + } + }, + "alpha_pct": -48.45 + }, + "test": { + "final_equity": 97831847, + "total_return_pct": -2.17, + "cagr_pct": -6.75, + "mdd_pct": 17.53, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 13.3, + "profit_factor": 0.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.0 + } + }, + "alpha_pct": -55.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.4, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.73, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.71, + "trades": 16 + } + ], + "worst_ret": 9.4 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142176098, + "total_return_pct": 42.18, + "cagr_pct": 62.35, + "mdd_pct": 10.2, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 4.05, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.49 + } + }, + "alpha_pct": -52.92 + }, + "test": { + "final_equity": 124442048, + "total_return_pct": 24.44, + "cagr_pct": 100.88, + "mdd_pct": 4.77, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 53.3, + "profit_factor": 6.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.61 + } + }, + "alpha_pct": -28.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.36, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.95, + "trades": 19 + } + ], + "worst_ret": 9.36 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142176098, + "total_return_pct": 42.18, + "cagr_pct": 62.35, + "mdd_pct": 10.2, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 4.05, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.49 + } + }, + "alpha_pct": -52.92 + }, + "test": { + "final_equity": 124442048, + "total_return_pct": 24.44, + "cagr_pct": 100.88, + "mdd_pct": 4.77, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 53.3, + "profit_factor": 6.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.61 + } + }, + "alpha_pct": -28.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.36, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.95, + "trades": 19 + } + ], + "worst_ret": 9.36 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144536418, + "total_return_pct": 44.54, + "cagr_pct": 66.07, + "mdd_pct": 13.57, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 2.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.13 + } + }, + "alpha_pct": -50.56 + }, + "test": { + "final_equity": 133209542, + "total_return_pct": 33.21, + "cagr_pct": 149.6, + "mdd_pct": 7.71, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 4.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.38 + } + }, + "alpha_pct": -19.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.3, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.65, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.67, + "trades": 19 + } + ], + "worst_ret": 9.3 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144536418, + "total_return_pct": 44.54, + "cagr_pct": 66.07, + "mdd_pct": 13.57, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 2.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.13 + } + }, + "alpha_pct": -50.56 + }, + "test": { + "final_equity": 133209542, + "total_return_pct": 33.21, + "cagr_pct": 149.6, + "mdd_pct": 7.71, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 4.78, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.38 + } + }, + "alpha_pct": -19.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.3, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.65, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.67, + "trades": 19 + } + ], + "worst_ret": 9.3 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150237886, + "total_return_pct": 50.24, + "cagr_pct": 75.16, + "mdd_pct": 12.78, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.57 + } + }, + "alpha_pct": -44.86 + }, + "test": { + "final_equity": 129972448, + "total_return_pct": 29.97, + "cagr_pct": 130.77, + "mdd_pct": 7.65, + "trades": 14, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 4.38, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.14 + } + }, + "alpha_pct": -22.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.3, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.74, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 44.95, + "trades": 17 + } + ], + "worst_ret": 9.3 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150237886, + "total_return_pct": 50.24, + "cagr_pct": 75.16, + "mdd_pct": 12.78, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.57 + } + }, + "alpha_pct": -44.86 + }, + "test": { + "final_equity": 129972448, + "total_return_pct": 29.97, + "cagr_pct": 130.77, + "mdd_pct": 7.65, + "trades": 14, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 4.38, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.14 + } + }, + "alpha_pct": -22.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.3, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.74, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 44.95, + "trades": 17 + } + ], + "worst_ret": 9.3 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143975474, + "total_return_pct": 43.98, + "cagr_pct": 65.19, + "mdd_pct": 12.73, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 31.9, + "profit_factor": 2.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.69 + } + }, + "alpha_pct": -51.12 + }, + "test": { + "final_equity": 109096081, + "total_return_pct": 9.1, + "cagr_pct": 32.01, + "mdd_pct": 15.0, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.27 + } + }, + "alpha_pct": -43.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.52, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.26, + "trades": 36 + } + ], + "worst_ret": 9.26 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143975474, + "total_return_pct": 43.98, + "cagr_pct": 65.19, + "mdd_pct": 12.73, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 31.9, + "profit_factor": 2.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.69 + } + }, + "alpha_pct": -51.12 + }, + "test": { + "final_equity": 109096081, + "total_return_pct": 9.1, + "cagr_pct": 32.01, + "mdd_pct": 15.0, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.27 + } + }, + "alpha_pct": -43.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.52, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.26, + "trades": 36 + } + ], + "worst_ret": 9.26 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127552522, + "total_return_pct": 27.55, + "cagr_pct": 39.81, + "mdd_pct": 11.25, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 38.6, + "profit_factor": 2.79, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.12 + } + }, + "alpha_pct": -67.55 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.24, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.49, + "trades": 13 + } + ], + "worst_ret": 9.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127552522, + "total_return_pct": 27.55, + "cagr_pct": 39.81, + "mdd_pct": 11.25, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 38.6, + "profit_factor": 2.79, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.12 + } + }, + "alpha_pct": -67.55 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.24, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.49, + "trades": 13 + } + ], + "worst_ret": 9.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144849352, + "total_return_pct": 44.85, + "cagr_pct": 66.57, + "mdd_pct": 9.96, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.82 + } + }, + "alpha_pct": -50.25 + }, + "test": { + "final_equity": 131341902, + "total_return_pct": 31.34, + "cagr_pct": 138.61, + "mdd_pct": 7.9, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.51 + } + }, + "alpha_pct": -21.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.58, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.21, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.57, + "trades": 29 + } + ], + "worst_ret": 9.21 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144849352, + "total_return_pct": 44.85, + "cagr_pct": 66.57, + "mdd_pct": 9.96, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 42.0, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.82 + } + }, + "alpha_pct": -50.25 + }, + "test": { + "final_equity": 131341902, + "total_return_pct": 31.34, + "cagr_pct": 138.61, + "mdd_pct": 7.9, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 4.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.51 + } + }, + "alpha_pct": -21.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.58, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.21, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.57, + "trades": 29 + } + ], + "worst_ret": 9.21 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131727378, + "total_return_pct": 31.73, + "cagr_pct": 46.15, + "mdd_pct": 11.42, + "trades": 66, + "open_positions": 6, + "win_rate_pct": 39.4, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.94 + } + }, + "alpha_pct": -63.37 + }, + "test": { + "final_equity": 101361013, + "total_return_pct": 1.36, + "cagr_pct": 4.41, + "mdd_pct": 11.15, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.53 + } + }, + "alpha_pct": -51.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.18, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.22, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.21, + "trades": 27 + } + ], + "worst_ret": 9.21 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131727378, + "total_return_pct": 31.73, + "cagr_pct": 46.15, + "mdd_pct": 11.42, + "trades": 66, + "open_positions": 6, + "win_rate_pct": 39.4, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.94 + } + }, + "alpha_pct": -63.37 + }, + "test": { + "final_equity": 101361013, + "total_return_pct": 1.36, + "cagr_pct": 4.41, + "mdd_pct": 11.15, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.53 + } + }, + "alpha_pct": -51.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.18, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.22, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.21, + "trades": 27 + } + ], + "worst_ret": 9.21 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145964378, + "total_return_pct": 45.96, + "cagr_pct": 68.34, + "mdd_pct": 9.31, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.71 + } + }, + "alpha_pct": -49.14 + }, + "test": { + "final_equity": 128449506, + "total_return_pct": 28.45, + "cagr_pct": 122.25, + "mdd_pct": 7.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 3.79, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.62 + } + }, + "alpha_pct": -24.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.95, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.2, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.21, + "trades": 29 + } + ], + "worst_ret": 9.2 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145964378, + "total_return_pct": 45.96, + "cagr_pct": 68.34, + "mdd_pct": 9.31, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 43.1, + "profit_factor": 3.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.71 + } + }, + "alpha_pct": -49.14 + }, + "test": { + "final_equity": 128449506, + "total_return_pct": 28.45, + "cagr_pct": 122.25, + "mdd_pct": 7.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 3.79, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.62 + } + }, + "alpha_pct": -24.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.95, + "trades": 27 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.2, + "trades": 35 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.21, + "trades": 29 + } + ], + "worst_ret": 9.2 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143228433, + "total_return_pct": 43.23, + "cagr_pct": 64.01, + "mdd_pct": 14.05, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.44 + } + }, + "alpha_pct": -51.87 + }, + "test": { + "final_equity": 101819066, + "total_return_pct": 1.82, + "cagr_pct": 5.92, + "mdd_pct": 8.89, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.99 + } + }, + "alpha_pct": -51.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.4, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.15, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.14, + "trades": 20 + } + ], + "worst_ret": 9.14 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143228433, + "total_return_pct": 43.23, + "cagr_pct": 64.01, + "mdd_pct": 14.05, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.44 + } + }, + "alpha_pct": -51.87 + }, + "test": { + "final_equity": 101819066, + "total_return_pct": 1.82, + "cagr_pct": 5.92, + "mdd_pct": 8.89, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.99 + } + }, + "alpha_pct": -51.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.4, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.15, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.14, + "trades": 20 + } + ], + "worst_ret": 9.14 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146950730, + "total_return_pct": 46.95, + "cagr_pct": 69.9, + "mdd_pct": 12.55, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 39.5, + "profit_factor": 4.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.72 + } + }, + "alpha_pct": -48.15 + }, + "test": { + "final_equity": 104820828, + "total_return_pct": 4.82, + "cagr_pct": 16.21, + "mdd_pct": 5.26, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.99 + } + }, + "alpha_pct": -48.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.73, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.07, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.28, + "trades": 25 + } + ], + "worst_ret": 9.07 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146950730, + "total_return_pct": 46.95, + "cagr_pct": 69.9, + "mdd_pct": 12.55, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 39.5, + "profit_factor": 4.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.72 + } + }, + "alpha_pct": -48.15 + }, + "test": { + "final_equity": 104820828, + "total_return_pct": 4.82, + "cagr_pct": 16.21, + "mdd_pct": 5.26, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.99 + } + }, + "alpha_pct": -48.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.73, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.07, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.28, + "trades": 25 + } + ], + "worst_ret": 9.07 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149956088, + "total_return_pct": 49.96, + "cagr_pct": 74.71, + "mdd_pct": 12.11, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.29 + } + }, + "alpha_pct": -45.14 + }, + "test": { + "final_equity": 109492563, + "total_return_pct": 9.49, + "cagr_pct": 33.55, + "mdd_pct": 13.69, + "trades": 26, + "open_positions": 5, + "win_rate_pct": 26.9, + "profit_factor": 1.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.34 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.66 + } + }, + "alpha_pct": -43.34 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.66, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.65, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.06, + "trades": 35 + } + ], + "worst_ret": 9.06 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149956088, + "total_return_pct": 49.96, + "cagr_pct": 74.71, + "mdd_pct": 12.11, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.14 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.29 + } + }, + "alpha_pct": -45.14 + }, + "test": { + "final_equity": 109492563, + "total_return_pct": 9.49, + "cagr_pct": 33.55, + "mdd_pct": 13.69, + "trades": 26, + "open_positions": 5, + "win_rate_pct": 26.9, + "profit_factor": 1.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.34 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.66 + } + }, + "alpha_pct": -43.34 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.66, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.65, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.06, + "trades": 35 + } + ], + "worst_ret": 9.06 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141019700, + "total_return_pct": 41.02, + "cagr_pct": 60.53, + "mdd_pct": 12.89, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 36.4, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.65 + } + }, + "alpha_pct": -54.08 + }, + "test": { + "final_equity": 103250382, + "total_return_pct": 3.25, + "cagr_pct": 10.74, + "mdd_pct": 8.33, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 15.4, + "profit_factor": 1.11, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.58 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.42 + } + }, + "alpha_pct": -49.58 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.05, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.16, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.19, + "trades": 15 + } + ], + "worst_ret": 9.05 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141019700, + "total_return_pct": 41.02, + "cagr_pct": 60.53, + "mdd_pct": 12.89, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 36.4, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.65 + } + }, + "alpha_pct": -54.08 + }, + "test": { + "final_equity": 103250382, + "total_return_pct": 3.25, + "cagr_pct": 10.74, + "mdd_pct": 8.33, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 15.4, + "profit_factor": 1.11, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.58 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.42 + } + }, + "alpha_pct": -49.58 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.05, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.16, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.19, + "trades": 15 + } + ], + "worst_ret": 9.05 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144345242, + "total_return_pct": 44.35, + "cagr_pct": 65.77, + "mdd_pct": 12.1, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 2.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.32 + } + }, + "alpha_pct": -50.75 + }, + "test": { + "final_equity": 114585164, + "total_return_pct": 14.59, + "cagr_pct": 54.39, + "mdd_pct": 14.5, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 24.0, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -38.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 28.76 + } + }, + "alpha_pct": -38.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.59, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.03, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.15, + "trades": 34 + } + ], + "worst_ret": 9.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144345242, + "total_return_pct": 44.35, + "cagr_pct": 65.77, + "mdd_pct": 12.1, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 2.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.32 + } + }, + "alpha_pct": -50.75 + }, + "test": { + "final_equity": 114585164, + "total_return_pct": 14.59, + "cagr_pct": 54.39, + "mdd_pct": 14.5, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 24.0, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -38.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 28.76 + } + }, + "alpha_pct": -38.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.59, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.03, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.15, + "trades": 34 + } + ], + "worst_ret": 9.03 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131464172, + "total_return_pct": 31.46, + "cagr_pct": 45.75, + "mdd_pct": 15.51, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 1.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.21 + } + }, + "alpha_pct": -63.64 + }, + "test": { + "final_equity": 110656502, + "total_return_pct": 10.66, + "cagr_pct": 38.13, + "mdd_pct": 8.42, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 47.1, + "profit_factor": 2.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.83 + } + }, + "alpha_pct": -42.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.03, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.43, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.92, + "trades": 19 + } + ], + "worst_ret": 9.03 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131464172, + "total_return_pct": 31.46, + "cagr_pct": 45.75, + "mdd_pct": 15.51, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 1.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.64 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.21 + } + }, + "alpha_pct": -63.64 + }, + "test": { + "final_equity": 110656502, + "total_return_pct": 10.66, + "cagr_pct": 38.13, + "mdd_pct": 8.42, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 47.1, + "profit_factor": 2.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.83 + } + }, + "alpha_pct": -42.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.03, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.43, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.92, + "trades": 19 + } + ], + "worst_ret": 9.03 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143679752, + "total_return_pct": 43.68, + "cagr_pct": 64.72, + "mdd_pct": 9.31, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 3.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.99 + } + }, + "alpha_pct": -51.42 + }, + "test": { + "final_equity": 128449506, + "total_return_pct": 28.45, + "cagr_pct": 122.25, + "mdd_pct": 7.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 3.79, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.62 + } + }, + "alpha_pct": -24.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.98, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.21, + "trades": 29 + } + ], + "worst_ret": 8.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143679752, + "total_return_pct": 43.68, + "cagr_pct": 64.72, + "mdd_pct": 9.31, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 3.03, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.99 + } + }, + "alpha_pct": -51.42 + }, + "test": { + "final_equity": 128449506, + "total_return_pct": 28.45, + "cagr_pct": 122.25, + "mdd_pct": 7.13, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 3.79, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.62 + } + }, + "alpha_pct": -24.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.98, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.21, + "trades": 29 + } + ], + "worst_ret": 8.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144914343, + "total_return_pct": 44.91, + "cagr_pct": 66.67, + "mdd_pct": 9.98, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 41.8, + "profit_factor": 3.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.76 + } + }, + "alpha_pct": -50.19 + }, + "test": { + "final_equity": 139206760, + "total_return_pct": 39.21, + "cagr_pct": 187.25, + "mdd_pct": 6.73, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 8.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.38 + } + }, + "alpha_pct": -13.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.32, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.93, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 52.52, + "trades": 20 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144914343, + "total_return_pct": 44.91, + "cagr_pct": 66.67, + "mdd_pct": 9.98, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 41.8, + "profit_factor": 3.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.76 + } + }, + "alpha_pct": -50.19 + }, + "test": { + "final_equity": 139206760, + "total_return_pct": 39.21, + "cagr_pct": 187.25, + "mdd_pct": 6.73, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 8.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.38 + } + }, + "alpha_pct": -13.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.32, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.93, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 52.52, + "trades": 20 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131496310, + "total_return_pct": 31.5, + "cagr_pct": 45.8, + "mdd_pct": 13.59, + "trades": 39, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.17 + } + }, + "alpha_pct": -63.6 + }, + "test": { + "final_equity": 111719261, + "total_return_pct": 11.72, + "cagr_pct": 42.4, + "mdd_pct": 3.69, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.89 + } + }, + "alpha_pct": -41.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.94, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.52, + "trades": 13 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131496310, + "total_return_pct": 31.5, + "cagr_pct": 45.8, + "mdd_pct": 13.59, + "trades": 39, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.17 + } + }, + "alpha_pct": -63.6 + }, + "test": { + "final_equity": 111719261, + "total_return_pct": 11.72, + "cagr_pct": 42.4, + "mdd_pct": 3.69, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.89 + } + }, + "alpha_pct": -41.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.94, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.52, + "trades": 13 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129693203, + "total_return_pct": 29.69, + "cagr_pct": 43.05, + "mdd_pct": 13.86, + "trades": 38, + "open_positions": 7, + "win_rate_pct": 36.8, + "profit_factor": 3.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.98 + } + }, + "alpha_pct": -65.41 + }, + "test": { + "final_equity": 111719261, + "total_return_pct": 11.72, + "cagr_pct": 42.4, + "mdd_pct": 3.69, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.89 + } + }, + "alpha_pct": -41.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.78, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.52, + "trades": 13 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129693203, + "total_return_pct": 29.69, + "cagr_pct": 43.05, + "mdd_pct": 13.86, + "trades": 38, + "open_positions": 7, + "win_rate_pct": 36.8, + "profit_factor": 3.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.98 + } + }, + "alpha_pct": -65.41 + }, + "test": { + "final_equity": 111719261, + "total_return_pct": 11.72, + "cagr_pct": 42.4, + "mdd_pct": 3.69, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 58.3, + "profit_factor": 3.54, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.89 + } + }, + "alpha_pct": -41.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.78, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.52, + "trades": 13 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146907398, + "total_return_pct": 46.91, + "cagr_pct": 69.84, + "mdd_pct": 9.93, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 3.59, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.76 + } + }, + "alpha_pct": -48.19 + }, + "test": { + "final_equity": 137072719, + "total_return_pct": 37.07, + "cagr_pct": 173.44, + "mdd_pct": 7.96, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.24 + } + }, + "alpha_pct": -15.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.92, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.83, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.58, + "trades": 23 + } + ], + "worst_ret": 8.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146907398, + "total_return_pct": 46.91, + "cagr_pct": 69.84, + "mdd_pct": 9.93, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 3.59, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.19 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.76 + } + }, + "alpha_pct": -48.19 + }, + "test": { + "final_equity": 137072719, + "total_return_pct": 37.07, + "cagr_pct": 173.44, + "mdd_pct": 7.96, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.24 + } + }, + "alpha_pct": -15.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.92, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.83, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.58, + "trades": 23 + } + ], + "worst_ret": 8.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141625159, + "total_return_pct": 41.63, + "cagr_pct": 61.48, + "mdd_pct": 11.34, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.04 + } + }, + "alpha_pct": -53.47 + }, + "test": { + "final_equity": 135470191, + "total_return_pct": 35.47, + "cagr_pct": 163.37, + "mdd_pct": 6.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 6.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.64 + } + }, + "alpha_pct": -17.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.92, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.42, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.33, + "trades": 25 + } + ], + "worst_ret": 8.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141625159, + "total_return_pct": 41.63, + "cagr_pct": 61.48, + "mdd_pct": 11.34, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.04 + } + }, + "alpha_pct": -53.47 + }, + "test": { + "final_equity": 135470191, + "total_return_pct": 35.47, + "cagr_pct": 163.37, + "mdd_pct": 6.47, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 6.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.64 + } + }, + "alpha_pct": -17.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.92, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.42, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.33, + "trades": 25 + } + ], + "worst_ret": 8.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136791694, + "total_return_pct": 36.79, + "cagr_pct": 53.94, + "mdd_pct": 11.3, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.88 + } + }, + "alpha_pct": -58.31 + }, + "test": { + "final_equity": 100636739, + "total_return_pct": 0.64, + "cagr_pct": 2.05, + "mdd_pct": 9.45, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.03, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.81 + } + }, + "alpha_pct": -52.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.57, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.23, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.9, + "trades": 18 + } + ], + "worst_ret": 8.9 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136791694, + "total_return_pct": 36.79, + "cagr_pct": 53.94, + "mdd_pct": 11.3, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.88 + } + }, + "alpha_pct": -58.31 + }, + "test": { + "final_equity": 100636739, + "total_return_pct": 0.64, + "cagr_pct": 2.05, + "mdd_pct": 9.45, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.03, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.81 + } + }, + "alpha_pct": -52.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.57, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.23, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.9, + "trades": 18 + } + ], + "worst_ret": 8.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148972163, + "total_return_pct": 48.97, + "cagr_pct": 73.13, + "mdd_pct": 9.61, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 34.7, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.3 + } + }, + "alpha_pct": -46.13 + }, + "test": { + "final_equity": 124839483, + "total_return_pct": 24.84, + "cagr_pct": 102.93, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.01 + } + }, + "alpha_pct": -27.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.81, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.98, + "trades": 24 + } + ], + "worst_ret": 8.89 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148972163, + "total_return_pct": 48.97, + "cagr_pct": 73.13, + "mdd_pct": 9.61, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 34.7, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.3 + } + }, + "alpha_pct": -46.13 + }, + "test": { + "final_equity": 124839483, + "total_return_pct": 24.84, + "cagr_pct": 102.93, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.01 + } + }, + "alpha_pct": -27.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.81, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.98, + "trades": 24 + } + ], + "worst_ret": 8.89 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143127398, + "total_return_pct": 43.13, + "cagr_pct": 63.85, + "mdd_pct": 12.58, + "trades": 79, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.54 + } + }, + "alpha_pct": -51.97 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.55, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.87, + "trades": 22 + } + ], + "worst_ret": 8.89 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143127398, + "total_return_pct": 43.13, + "cagr_pct": 63.85, + "mdd_pct": 12.58, + "trades": 79, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.54 + } + }, + "alpha_pct": -51.97 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.55, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.87, + "trades": 22 + } + ], + "worst_ret": 8.89 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147505062, + "total_return_pct": 47.51, + "cagr_pct": 70.79, + "mdd_pct": 13.01, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 2.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.16 + } + }, + "alpha_pct": -47.59 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 32.05, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.87, + "trades": 22 + } + ], + "worst_ret": 8.89 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147505062, + "total_return_pct": 47.51, + "cagr_pct": 70.79, + "mdd_pct": 13.01, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 2.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.16 + } + }, + "alpha_pct": -47.59 + }, + "test": { + "final_equity": 124788065, + "total_return_pct": 24.79, + "cagr_pct": 102.67, + "mdd_pct": 8.08, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.96 + } + }, + "alpha_pct": -28.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 32.05, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.87, + "trades": 22 + } + ], + "worst_ret": 8.89 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145759250, + "total_return_pct": 45.76, + "cagr_pct": 68.01, + "mdd_pct": 11.06, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 34.7, + "profit_factor": 2.88, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.91 + } + }, + "alpha_pct": -49.34 + }, + "test": { + "final_equity": 125239698, + "total_return_pct": 25.24, + "cagr_pct": 105.01, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.41 + } + }, + "alpha_pct": -27.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.3, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.51, + "trades": 24 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145759250, + "total_return_pct": 45.76, + "cagr_pct": 68.01, + "mdd_pct": 11.06, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 34.7, + "profit_factor": 2.88, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.91 + } + }, + "alpha_pct": -49.34 + }, + "test": { + "final_equity": 125239698, + "total_return_pct": 25.24, + "cagr_pct": 105.01, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.41 + } + }, + "alpha_pct": -27.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.3, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 32.51, + "trades": 24 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141451383, + "total_return_pct": 41.45, + "cagr_pct": 61.21, + "mdd_pct": 13.85, + "trades": 79, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.22 + } + }, + "alpha_pct": -53.65 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.22, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.68, + "trades": 22 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141451383, + "total_return_pct": 41.45, + "cagr_pct": 61.21, + "mdd_pct": 13.85, + "trades": 79, + "open_positions": 8, + "win_rate_pct": 34.2, + "profit_factor": 2.46, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.22 + } + }, + "alpha_pct": -53.65 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.22, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.68, + "trades": 22 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145707957, + "total_return_pct": 45.71, + "cagr_pct": 67.93, + "mdd_pct": 13.86, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.39 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.96 + } + }, + "alpha_pct": -49.39 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.64, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.68, + "trades": 22 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145707957, + "total_return_pct": 45.71, + "cagr_pct": 67.93, + "mdd_pct": 13.86, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.39 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.96 + } + }, + "alpha_pct": -49.39 + }, + "test": { + "final_equity": 125188668, + "total_return_pct": 25.19, + "cagr_pct": 104.75, + "mdd_pct": 10.15, + "trades": 23, + "open_positions": 8, + "win_rate_pct": 26.1, + "profit_factor": 2.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.36 + } + }, + "alpha_pct": -27.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.64, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.68, + "trades": 22 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136113047, + "total_return_pct": 36.11, + "cagr_pct": 52.89, + "mdd_pct": 15.03, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 35.0, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.56 + } + }, + "alpha_pct": -58.99 + }, + "test": { + "final_equity": 116625193, + "total_return_pct": 16.63, + "cagr_pct": 63.33, + "mdd_pct": 8.32, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 27.3, + "profit_factor": 2.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -36.2 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 30.8 + } + }, + "alpha_pct": -36.2 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.09, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.28, + "trades": 12 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136113047, + "total_return_pct": 36.11, + "cagr_pct": 52.89, + "mdd_pct": 15.03, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 35.0, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.56 + } + }, + "alpha_pct": -58.99 + }, + "test": { + "final_equity": 116625193, + "total_return_pct": 16.63, + "cagr_pct": 63.33, + "mdd_pct": 8.32, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 27.3, + "profit_factor": 2.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -36.2 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 30.8 + } + }, + "alpha_pct": -36.2 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.09, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.28, + "trades": 12 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129332275, + "total_return_pct": 29.33, + "cagr_pct": 42.5, + "mdd_pct": 14.84, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.34 + } + }, + "alpha_pct": -65.77 + }, + "test": { + "final_equity": 115411183, + "total_return_pct": 15.41, + "cagr_pct": 57.97, + "mdd_pct": 4.56, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.58 + } + }, + "alpha_pct": -37.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.38, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.78, + "trades": 14 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129332275, + "total_return_pct": 29.33, + "cagr_pct": 42.5, + "mdd_pct": 14.84, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.34 + } + }, + "alpha_pct": -65.77 + }, + "test": { + "final_equity": 115411183, + "total_return_pct": 15.41, + "cagr_pct": 57.97, + "mdd_pct": 4.56, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.58 + } + }, + "alpha_pct": -37.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.38, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.78, + "trades": 14 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 126674139, + "total_return_pct": 26.67, + "cagr_pct": 38.49, + "mdd_pct": 15.05, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 32.6, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.0 + } + }, + "alpha_pct": -68.43 + }, + "test": { + "final_equity": 115411183, + "total_return_pct": 15.41, + "cagr_pct": 57.97, + "mdd_pct": 4.56, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.58 + } + }, + "alpha_pct": -37.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.22, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.78, + "trades": 14 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 126674139, + "total_return_pct": 26.67, + "cagr_pct": 38.49, + "mdd_pct": 15.05, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 32.6, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.0 + } + }, + "alpha_pct": -68.43 + }, + "test": { + "final_equity": 115411183, + "total_return_pct": 15.41, + "cagr_pct": 57.97, + "mdd_pct": 4.56, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -37.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 29.58 + } + }, + "alpha_pct": -37.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.86, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.22, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.78, + "trades": 14 + } + ], + "worst_ret": 8.86 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145070905, + "total_return_pct": 45.07, + "cagr_pct": 66.92, + "mdd_pct": 10.14, + "trades": 63, + "open_positions": 6, + "win_rate_pct": 41.3, + "profit_factor": 3.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.6 + } + }, + "alpha_pct": -50.03 + }, + "test": { + "final_equity": 142657915, + "total_return_pct": 42.66, + "cagr_pct": 210.59, + "mdd_pct": 8.53, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.83 + } + }, + "alpha_pct": -10.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.77, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.0, + "trades": 23 + } + ], + "worst_ret": 8.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145070905, + "total_return_pct": 45.07, + "cagr_pct": 66.92, + "mdd_pct": 10.14, + "trades": 63, + "open_positions": 6, + "win_rate_pct": 41.3, + "profit_factor": 3.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.6 + } + }, + "alpha_pct": -50.03 + }, + "test": { + "final_equity": 142657915, + "total_return_pct": 42.66, + "cagr_pct": 210.59, + "mdd_pct": 8.53, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.83 + } + }, + "alpha_pct": -10.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.77, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.0, + "trades": 23 + } + ], + "worst_ret": 8.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137891060, + "total_return_pct": 37.89, + "cagr_pct": 55.65, + "mdd_pct": 12.06, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 2.87, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.78 + } + }, + "alpha_pct": -57.21 + }, + "test": { + "final_equity": 140947253, + "total_return_pct": 40.95, + "cagr_pct": 198.86, + "mdd_pct": 7.48, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.12 + } + }, + "alpha_pct": -11.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.56, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.8, + "trades": 25 + } + ], + "worst_ret": 8.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137891060, + "total_return_pct": 37.89, + "cagr_pct": 55.65, + "mdd_pct": 12.06, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 2.87, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.78 + } + }, + "alpha_pct": -57.21 + }, + "test": { + "final_equity": 140947253, + "total_return_pct": 40.95, + "cagr_pct": 198.86, + "mdd_pct": 7.48, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.12 + } + }, + "alpha_pct": -11.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.56, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.8, + "trades": 25 + } + ], + "worst_ret": 8.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143645003, + "total_return_pct": 43.65, + "cagr_pct": 64.66, + "mdd_pct": 10.13, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.02 + } + }, + "alpha_pct": -51.45 + }, + "test": { + "final_equity": 140355657, + "total_return_pct": 40.36, + "cagr_pct": 194.88, + "mdd_pct": 7.65, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 5.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.53 + } + }, + "alpha_pct": -12.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.81, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.58, + "trades": 24 + } + ], + "worst_ret": 8.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143645003, + "total_return_pct": 43.65, + "cagr_pct": 64.66, + "mdd_pct": 10.13, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.02 + } + }, + "alpha_pct": -51.45 + }, + "test": { + "final_equity": 140355657, + "total_return_pct": 40.36, + "cagr_pct": 194.88, + "mdd_pct": 7.65, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 5.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.53 + } + }, + "alpha_pct": -12.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.83, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.81, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.58, + "trades": 24 + } + ], + "worst_ret": 8.83 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132484394, + "total_return_pct": 32.48, + "cagr_pct": 47.31, + "mdd_pct": 11.23, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 39.5, + "profit_factor": 3.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.19 + } + }, + "alpha_pct": -62.62 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.24, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 14 + } + ], + "worst_ret": 8.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132484394, + "total_return_pct": 32.48, + "cagr_pct": 47.31, + "mdd_pct": 11.23, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 39.5, + "profit_factor": 3.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.19 + } + }, + "alpha_pct": -62.62 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.24, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 14 + } + ], + "worst_ret": 8.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136333304, + "total_return_pct": 36.33, + "cagr_pct": 53.23, + "mdd_pct": 15.01, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 37.2, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.34 + } + }, + "alpha_pct": -58.77 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.61, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 14 + } + ], + "worst_ret": 8.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136333304, + "total_return_pct": 36.33, + "cagr_pct": 53.23, + "mdd_pct": 15.01, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 37.2, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.34 + } + }, + "alpha_pct": -58.77 + }, + "test": { + "final_equity": 109883197, + "total_return_pct": 9.88, + "cagr_pct": 35.07, + "mdd_pct": 7.57, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -42.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 24.05 + } + }, + "alpha_pct": -42.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.61, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.45, + "trades": 14 + } + ], + "worst_ret": 8.81 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147116570, + "total_return_pct": 47.12, + "cagr_pct": 70.17, + "mdd_pct": 9.93, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.55 + } + }, + "alpha_pct": -47.98 + }, + "test": { + "final_equity": 143084478, + "total_return_pct": 43.08, + "cagr_pct": 213.56, + "mdd_pct": 8.69, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -9.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.25 + } + }, + "alpha_pct": -9.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.75, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.69, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.8, + "trades": 23 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147116570, + "total_return_pct": 47.12, + "cagr_pct": 70.17, + "mdd_pct": 9.93, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.55 + } + }, + "alpha_pct": -47.98 + }, + "test": { + "final_equity": 143084478, + "total_return_pct": 43.08, + "cagr_pct": 213.56, + "mdd_pct": 8.69, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 6.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -9.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 57.25 + } + }, + "alpha_pct": -9.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.75, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.69, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.8, + "trades": 23 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 140375472, + "total_return_pct": 40.38, + "cagr_pct": 59.52, + "mdd_pct": 11.65, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.29 + } + }, + "alpha_pct": -54.72 + }, + "test": { + "final_equity": 140904638, + "total_return_pct": 40.9, + "cagr_pct": 198.57, + "mdd_pct": 7.4, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.07 + } + }, + "alpha_pct": -11.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.75, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.85, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.34, + "trades": 25 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 140375472, + "total_return_pct": 40.38, + "cagr_pct": 59.52, + "mdd_pct": 11.65, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.29 + } + }, + "alpha_pct": -54.72 + }, + "test": { + "final_equity": 140904638, + "total_return_pct": 40.9, + "cagr_pct": 198.57, + "mdd_pct": 7.4, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 50.0, + "profit_factor": 5.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.07 + } + }, + "alpha_pct": -11.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.75, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.85, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.34, + "trades": 25 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137856333, + "total_return_pct": 37.86, + "cagr_pct": 55.6, + "mdd_pct": 14.02, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 40.9, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.24 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.81 + } + }, + "alpha_pct": -57.24 + }, + "test": { + "final_equity": 103388089, + "total_return_pct": 3.39, + "cagr_pct": 11.21, + "mdd_pct": 8.28, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.56 + } + }, + "alpha_pct": -49.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.93, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.75, + "trades": 18 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137856333, + "total_return_pct": 37.86, + "cagr_pct": 55.6, + "mdd_pct": 14.02, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 40.9, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.24 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.81 + } + }, + "alpha_pct": -57.24 + }, + "test": { + "final_equity": 103388089, + "total_return_pct": 3.39, + "cagr_pct": 11.21, + "mdd_pct": 8.28, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.56 + } + }, + "alpha_pct": -49.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.93, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.75, + "trades": 18 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137829716, + "total_return_pct": 37.83, + "cagr_pct": 55.55, + "mdd_pct": 14.25, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 42.9, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.84 + } + }, + "alpha_pct": -57.27 + }, + "test": { + "final_equity": 103388089, + "total_return_pct": 3.39, + "cagr_pct": 11.21, + "mdd_pct": 8.28, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.56 + } + }, + "alpha_pct": -49.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.78, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.75, + "trades": 18 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137829716, + "total_return_pct": 37.83, + "cagr_pct": 55.55, + "mdd_pct": 14.25, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 42.9, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.84 + } + }, + "alpha_pct": -57.27 + }, + "test": { + "final_equity": 103388089, + "total_return_pct": 3.39, + "cagr_pct": 11.21, + "mdd_pct": 8.28, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.56 + } + }, + "alpha_pct": -49.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.41, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.78, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.75, + "trades": 18 + } + ], + "worst_ret": 8.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144653511, + "total_return_pct": 44.65, + "cagr_pct": 66.26, + "mdd_pct": 14.63, + "trades": 48, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.02 + } + }, + "alpha_pct": -50.45 + }, + "test": { + "final_equity": 94971739, + "total_return_pct": -5.03, + "cagr_pct": -15.17, + "mdd_pct": 10.23, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 15.8, + "profit_factor": 0.58, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.14 + } + }, + "alpha_pct": -57.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.38, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.73, + "trades": 16 + } + ], + "worst_ret": 8.73 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144653511, + "total_return_pct": 44.65, + "cagr_pct": 66.26, + "mdd_pct": 14.63, + "trades": 48, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.02 + } + }, + "alpha_pct": -50.45 + }, + "test": { + "final_equity": 94971739, + "total_return_pct": -5.03, + "cagr_pct": -15.17, + "mdd_pct": 10.23, + "trades": 19, + "open_positions": 4, + "win_rate_pct": 15.8, + "profit_factor": 0.58, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.14 + } + }, + "alpha_pct": -57.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.38, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.73, + "trades": 16 + } + ], + "worst_ret": 8.73 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136658941, + "total_return_pct": 36.66, + "cagr_pct": 53.74, + "mdd_pct": 10.53, + "trades": 78, + "open_positions": 7, + "win_rate_pct": 41.0, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.01 + } + }, + "alpha_pct": -58.44 + }, + "test": { + "final_equity": 129898950, + "total_return_pct": 29.9, + "cagr_pct": 130.35, + "mdd_pct": 5.67, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.07 + } + }, + "alpha_pct": -22.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.69, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.39, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.96, + "trades": 31 + } + ], + "worst_ret": 8.69 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136658941, + "total_return_pct": 36.66, + "cagr_pct": 53.74, + "mdd_pct": 10.53, + "trades": 78, + "open_positions": 7, + "win_rate_pct": 41.0, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.01 + } + }, + "alpha_pct": -58.44 + }, + "test": { + "final_equity": 129898950, + "total_return_pct": 29.9, + "cagr_pct": 130.35, + "mdd_pct": 5.67, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.07 + } + }, + "alpha_pct": -22.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.69, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.39, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.96, + "trades": 31 + } + ], + "worst_ret": 8.69 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135538422, + "total_return_pct": 35.54, + "cagr_pct": 52.0, + "mdd_pct": 10.68, + "trades": 78, + "open_positions": 7, + "win_rate_pct": 41.0, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.13 + } + }, + "alpha_pct": -59.56 + }, + "test": { + "final_equity": 131020194, + "total_return_pct": 31.02, + "cagr_pct": 136.75, + "mdd_pct": 6.89, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.19 + } + }, + "alpha_pct": -21.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.66, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.69, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.68, + "trades": 31 + } + ], + "worst_ret": 8.66 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135538422, + "total_return_pct": 35.54, + "cagr_pct": 52.0, + "mdd_pct": 10.68, + "trades": 78, + "open_positions": 7, + "win_rate_pct": 41.0, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.13 + } + }, + "alpha_pct": -59.56 + }, + "test": { + "final_equity": 131020194, + "total_return_pct": 31.02, + "cagr_pct": 136.75, + "mdd_pct": 6.89, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 3.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.19 + } + }, + "alpha_pct": -21.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.66, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.69, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.68, + "trades": 31 + } + ], + "worst_ret": 8.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152453707, + "total_return_pct": 52.45, + "cagr_pct": 78.73, + "mdd_pct": 14.57, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 40.4, + "profit_factor": 4.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.78 + } + }, + "alpha_pct": -42.65 + }, + "test": { + "final_equity": 93823819, + "total_return_pct": -6.18, + "cagr_pct": -18.4, + "mdd_pct": 12.69, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 15.0, + "profit_factor": 0.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -59.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 7.99 + } + }, + "alpha_pct": -59.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.01, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.66, + "trades": 18 + } + ], + "worst_ret": 8.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152453707, + "total_return_pct": 52.45, + "cagr_pct": 78.73, + "mdd_pct": 14.57, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 40.4, + "profit_factor": 4.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.78 + } + }, + "alpha_pct": -42.65 + }, + "test": { + "final_equity": 93823819, + "total_return_pct": -6.18, + "cagr_pct": -18.4, + "mdd_pct": 12.69, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 15.0, + "profit_factor": 0.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -59.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 7.99 + } + }, + "alpha_pct": -59.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.01, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.66, + "trades": 18 + } + ], + "worst_ret": 8.66 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145948699, + "total_return_pct": 45.95, + "cagr_pct": 68.31, + "mdd_pct": 10.22, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 3.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.72 + } + }, + "alpha_pct": -49.15 + }, + "test": { + "final_equity": 139424096, + "total_return_pct": 39.42, + "cagr_pct": 188.68, + "mdd_pct": 6.72, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 53.3, + "profit_factor": 8.4, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.41 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.59 + } + }, + "alpha_pct": -13.41 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.04, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.49, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.83, + "trades": 19 + } + ], + "worst_ret": 8.49 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145948699, + "total_return_pct": 45.95, + "cagr_pct": 68.31, + "mdd_pct": 10.22, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 3.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.72 + } + }, + "alpha_pct": -49.15 + }, + "test": { + "final_equity": 139424096, + "total_return_pct": 39.42, + "cagr_pct": 188.68, + "mdd_pct": 6.72, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 53.3, + "profit_factor": 8.4, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.41 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.59 + } + }, + "alpha_pct": -13.41 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.04, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.49, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.83, + "trades": 19 + } + ], + "worst_ret": 8.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146937058, + "total_return_pct": 46.94, + "cagr_pct": 69.88, + "mdd_pct": 10.19, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 26.1, + "profit_factor": 2.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.73 + } + }, + "alpha_pct": -48.16 + }, + "test": { + "final_equity": 109409095, + "total_return_pct": 9.41, + "cagr_pct": 33.22, + "mdd_pct": 10.61, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 1.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.58 + } + }, + "alpha_pct": -43.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.4, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.45, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.0, + "trades": 16 + } + ], + "worst_ret": 8.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146937058, + "total_return_pct": 46.94, + "cagr_pct": 69.88, + "mdd_pct": 10.19, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 26.1, + "profit_factor": 2.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.73 + } + }, + "alpha_pct": -48.16 + }, + "test": { + "final_equity": 109409095, + "total_return_pct": 9.41, + "cagr_pct": 33.22, + "mdd_pct": 10.61, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 1.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.58 + } + }, + "alpha_pct": -43.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.4, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.45, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.0, + "trades": 16 + } + ], + "worst_ret": 8.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132676743, + "total_return_pct": 32.68, + "cagr_pct": 47.6, + "mdd_pct": 10.97, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 39.5, + "profit_factor": 3.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.99 + } + }, + "alpha_pct": -62.42 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.49, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.4, + "trades": 14 + } + ], + "worst_ret": 8.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132676743, + "total_return_pct": 32.68, + "cagr_pct": 47.6, + "mdd_pct": 10.97, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 39.5, + "profit_factor": 3.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.99 + } + }, + "alpha_pct": -62.42 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.49, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.4, + "trades": 14 + } + ], + "worst_ret": 8.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136524958, + "total_return_pct": 36.52, + "cagr_pct": 53.53, + "mdd_pct": 14.77, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 37.2, + "profit_factor": 3.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.15 + } + }, + "alpha_pct": -58.58 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.94, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.4, + "trades": 14 + } + ], + "worst_ret": 8.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136524958, + "total_return_pct": 36.52, + "cagr_pct": 53.53, + "mdd_pct": 14.77, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 37.2, + "profit_factor": 3.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.15 + } + }, + "alpha_pct": -58.58 + }, + "test": { + "final_equity": 108006412, + "total_return_pct": 8.01, + "cagr_pct": 27.85, + "mdd_pct": 5.31, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 38.5, + "profit_factor": 2.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.18 + } + }, + "alpha_pct": -44.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.94, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.4, + "trades": 14 + } + ], + "worst_ret": 8.4 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131633713, + "total_return_pct": 31.63, + "cagr_pct": 46.01, + "mdd_pct": 14.0, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 21.4, + "profit_factor": 2.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.04 + } + }, + "alpha_pct": -63.47 + }, + "test": { + "final_equity": 107904121, + "total_return_pct": 7.9, + "cagr_pct": 27.46, + "mdd_pct": 11.25, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 18.8, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.07 + } + }, + "alpha_pct": -44.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.34, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.19, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.18, + "trades": 19 + } + ], + "worst_ret": 8.34 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131633713, + "total_return_pct": 31.63, + "cagr_pct": 46.01, + "mdd_pct": 14.0, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 21.4, + "profit_factor": 2.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.04 + } + }, + "alpha_pct": -63.47 + }, + "test": { + "final_equity": 107904121, + "total_return_pct": 7.9, + "cagr_pct": 27.46, + "mdd_pct": 11.25, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 18.8, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.07 + } + }, + "alpha_pct": -44.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.34, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.19, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.18, + "trades": 19 + } + ], + "worst_ret": 8.34 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131653687, + "total_return_pct": 31.65, + "cagr_pct": 46.04, + "mdd_pct": 11.37, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.02 + } + }, + "alpha_pct": -63.45 + }, + "test": { + "final_equity": 99770538, + "total_return_pct": -0.23, + "cagr_pct": -0.73, + "mdd_pct": 9.41, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.94 + } + }, + "alpha_pct": -53.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.32, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.03, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.31, + "trades": 19 + } + ], + "worst_ret": 8.31 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131653687, + "total_return_pct": 31.65, + "cagr_pct": 46.04, + "mdd_pct": 11.37, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.02 + } + }, + "alpha_pct": -63.45 + }, + "test": { + "final_equity": 99770538, + "total_return_pct": -0.23, + "cagr_pct": -0.73, + "mdd_pct": 9.41, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.94 + } + }, + "alpha_pct": -53.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.32, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.03, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.31, + "trades": 19 + } + ], + "worst_ret": 8.31 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146315778, + "total_return_pct": 46.32, + "cagr_pct": 68.89, + "mdd_pct": 12.47, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 39.5, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.35 + } + }, + "alpha_pct": -48.78 + }, + "test": { + "final_equity": 104411975, + "total_return_pct": 4.41, + "cagr_pct": 14.77, + "mdd_pct": 7.1, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.58 + } + }, + "alpha_pct": -48.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.3, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 16.96, + "trades": 25 + } + ], + "worst_ret": 8.3 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146315778, + "total_return_pct": 46.32, + "cagr_pct": 68.89, + "mdd_pct": 12.47, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 39.5, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.35 + } + }, + "alpha_pct": -48.78 + }, + "test": { + "final_equity": 104411975, + "total_return_pct": 4.41, + "cagr_pct": 14.77, + "mdd_pct": 7.1, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.58 + } + }, + "alpha_pct": -48.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.3, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 16.96, + "trades": 25 + } + ], + "worst_ret": 8.3 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138774851, + "total_return_pct": 38.77, + "cagr_pct": 57.03, + "mdd_pct": 11.16, + "trades": 77, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.9 + } + }, + "alpha_pct": -56.33 + }, + "test": { + "final_equity": 142294068, + "total_return_pct": 42.29, + "cagr_pct": 208.07, + "mdd_pct": 9.0, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.46 + } + }, + "alpha_pct": -10.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.22, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.84, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.73, + "trades": 31 + } + ], + "worst_ret": 8.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138774851, + "total_return_pct": 38.77, + "cagr_pct": 57.03, + "mdd_pct": 11.16, + "trades": 77, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.9 + } + }, + "alpha_pct": -56.33 + }, + "test": { + "final_equity": 142294068, + "total_return_pct": 42.29, + "cagr_pct": 208.07, + "mdd_pct": 9.0, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -10.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 56.46 + } + }, + "alpha_pct": -10.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.22, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.84, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.73, + "trades": 31 + } + ], + "worst_ret": 8.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144142317, + "total_return_pct": 44.14, + "cagr_pct": 65.45, + "mdd_pct": 10.05, + "trades": 73, + "open_positions": 7, + "win_rate_pct": 41.1, + "profit_factor": 2.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.53 + } + }, + "alpha_pct": -50.96 + }, + "test": { + "final_equity": 139992681, + "total_return_pct": 39.99, + "cagr_pct": 192.45, + "mdd_pct": 8.63, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 4.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.16 + } + }, + "alpha_pct": -12.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.22, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.99, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 48.42, + "trades": 29 + } + ], + "worst_ret": 8.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144142317, + "total_return_pct": 44.14, + "cagr_pct": 65.45, + "mdd_pct": 10.05, + "trades": 73, + "open_positions": 7, + "win_rate_pct": 41.1, + "profit_factor": 2.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.53 + } + }, + "alpha_pct": -50.96 + }, + "test": { + "final_equity": 139992681, + "total_return_pct": 39.99, + "cagr_pct": 192.45, + "mdd_pct": 8.63, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 4.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -12.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 54.16 + } + }, + "alpha_pct": -12.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.22, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.99, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 48.42, + "trades": 29 + } + ], + "worst_ret": 8.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145299798, + "total_return_pct": 45.3, + "cagr_pct": 67.28, + "mdd_pct": 9.87, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 42.6, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.37 + } + }, + "alpha_pct": -49.8 + }, + "test": { + "final_equity": 135733266, + "total_return_pct": 35.73, + "cagr_pct": 165.0, + "mdd_pct": 7.53, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.9 + } + }, + "alpha_pct": -17.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.22, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.99, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 49.24, + "trades": 27 + } + ], + "worst_ret": 8.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145299798, + "total_return_pct": 45.3, + "cagr_pct": 67.28, + "mdd_pct": 9.87, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 42.6, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.37 + } + }, + "alpha_pct": -49.8 + }, + "test": { + "final_equity": 135733266, + "total_return_pct": 35.73, + "cagr_pct": 165.0, + "mdd_pct": 7.53, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.9 + } + }, + "alpha_pct": -17.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.22, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.99, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 49.24, + "trades": 27 + } + ], + "worst_ret": 8.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142383146, + "total_return_pct": 42.38, + "cagr_pct": 62.67, + "mdd_pct": 9.96, + "trades": 63, + "open_positions": 6, + "win_rate_pct": 41.3, + "profit_factor": 3.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.29 + } + }, + "alpha_pct": -52.72 + }, + "test": { + "final_equity": 127637477, + "total_return_pct": 27.64, + "cagr_pct": 117.8, + "mdd_pct": 7.1, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 5.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.81 + } + }, + "alpha_pct": -25.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.17, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.74, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.77, + "trades": 23 + } + ], + "worst_ret": 8.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142383146, + "total_return_pct": 42.38, + "cagr_pct": 62.67, + "mdd_pct": 9.96, + "trades": 63, + "open_positions": 6, + "win_rate_pct": 41.3, + "profit_factor": 3.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.29 + } + }, + "alpha_pct": -52.72 + }, + "test": { + "final_equity": 127637477, + "total_return_pct": 27.64, + "cagr_pct": 117.8, + "mdd_pct": 7.1, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 45.0, + "profit_factor": 5.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.81 + } + }, + "alpha_pct": -25.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.17, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.74, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 29.77, + "trades": 23 + } + ], + "worst_ret": 8.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140742545, + "total_return_pct": 40.74, + "cagr_pct": 60.1, + "mdd_pct": 9.95, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.93 + } + }, + "alpha_pct": -54.36 + }, + "test": { + "final_equity": 126043029, + "total_return_pct": 26.04, + "cagr_pct": 109.24, + "mdd_pct": 5.92, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 4.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.21 + } + }, + "alpha_pct": -26.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.17, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.86, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.88, + "trades": 24 + } + ], + "worst_ret": 8.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140742545, + "total_return_pct": 40.74, + "cagr_pct": 60.1, + "mdd_pct": 9.95, + "trades": 64, + "open_positions": 6, + "win_rate_pct": 42.2, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.93 + } + }, + "alpha_pct": -54.36 + }, + "test": { + "final_equity": 126043029, + "total_return_pct": 26.04, + "cagr_pct": 109.24, + "mdd_pct": 5.92, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 40.0, + "profit_factor": 4.91, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.21 + } + }, + "alpha_pct": -26.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.17, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.86, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.88, + "trades": 24 + } + ], + "worst_ret": 8.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137355631, + "total_return_pct": 37.36, + "cagr_pct": 54.82, + "mdd_pct": 11.21, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 3.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.31 + } + }, + "alpha_pct": -57.74 + }, + "test": { + "final_equity": 126001406, + "total_return_pct": 26.0, + "cagr_pct": 109.02, + "mdd_pct": 5.32, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.17 + } + }, + "alpha_pct": -26.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.17, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.38, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.32, + "trades": 25 + } + ], + "worst_ret": 8.17 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137355631, + "total_return_pct": 37.36, + "cagr_pct": 54.82, + "mdd_pct": 11.21, + "trades": 66, + "open_positions": 5, + "win_rate_pct": 42.4, + "profit_factor": 3.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.31 + } + }, + "alpha_pct": -57.74 + }, + "test": { + "final_equity": 126001406, + "total_return_pct": 26.0, + "cagr_pct": 109.02, + "mdd_pct": 5.32, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 47.6, + "profit_factor": 5.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.17 + } + }, + "alpha_pct": -26.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.17, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.38, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.32, + "trades": 25 + } + ], + "worst_ret": 8.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146807045, + "total_return_pct": 46.81, + "cagr_pct": 69.68, + "mdd_pct": 12.44, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 35.6, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.86 + } + }, + "alpha_pct": -48.29 + }, + "test": { + "final_equity": 123544044, + "total_return_pct": 23.54, + "cagr_pct": 96.29, + "mdd_pct": 5.33, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 3.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.71 + } + }, + "alpha_pct": -29.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.21, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.11, + "trades": 23 + } + ], + "worst_ret": 8.1 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146807045, + "total_return_pct": 46.81, + "cagr_pct": 69.68, + "mdd_pct": 12.44, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 35.6, + "profit_factor": 2.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.86 + } + }, + "alpha_pct": -48.29 + }, + "test": { + "final_equity": 123544044, + "total_return_pct": 23.54, + "cagr_pct": 96.29, + "mdd_pct": 5.33, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 3.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.71 + } + }, + "alpha_pct": -29.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.21, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.11, + "trades": 23 + } + ], + "worst_ret": 8.1 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143373955, + "total_return_pct": 43.37, + "cagr_pct": 64.24, + "mdd_pct": 12.3, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 33.8, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.3 + } + }, + "alpha_pct": -51.73 + }, + "test": { + "final_equity": 122792197, + "total_return_pct": 22.79, + "cagr_pct": 92.51, + "mdd_pct": 6.49, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 25.0, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.96 + } + }, + "alpha_pct": -30.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.12, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.95, + "trades": 20 + } + ], + "worst_ret": 8.1 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143373955, + "total_return_pct": 43.37, + "cagr_pct": 64.24, + "mdd_pct": 12.3, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 33.8, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.3 + } + }, + "alpha_pct": -51.73 + }, + "test": { + "final_equity": 122792197, + "total_return_pct": 22.79, + "cagr_pct": 92.51, + "mdd_pct": 6.49, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 25.0, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.96 + } + }, + "alpha_pct": -30.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.12, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 23.95, + "trades": 20 + } + ], + "worst_ret": 8.1 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148265650, + "total_return_pct": 48.27, + "cagr_pct": 72.0, + "mdd_pct": 12.37, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.6 + } + }, + "alpha_pct": -46.83 + }, + "test": { + "final_equity": 122036550, + "total_return_pct": 22.04, + "cagr_pct": 88.75, + "mdd_pct": 4.73, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.21 + } + }, + "alpha_pct": -30.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.85, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.89, + "trades": 24 + } + ], + "worst_ret": 8.1 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148265650, + "total_return_pct": 48.27, + "cagr_pct": 72.0, + "mdd_pct": 12.37, + "trades": 73, + "open_positions": 8, + "win_rate_pct": 39.7, + "profit_factor": 3.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.6 + } + }, + "alpha_pct": -46.83 + }, + "test": { + "final_equity": 122036550, + "total_return_pct": 22.04, + "cagr_pct": 88.75, + "mdd_pct": 4.73, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 3.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -30.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 36.21 + } + }, + "alpha_pct": -30.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.85, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.89, + "trades": 24 + } + ], + "worst_ret": 8.1 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138030145, + "total_return_pct": 38.03, + "cagr_pct": 55.87, + "mdd_pct": 11.01, + "trades": 76, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.64 + } + }, + "alpha_pct": -57.07 + }, + "test": { + "final_equity": 132311892, + "total_return_pct": 32.31, + "cagr_pct": 144.28, + "mdd_pct": 5.75, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.48 + } + }, + "alpha_pct": -20.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.99, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.83, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.29, + "trades": 31 + } + ], + "worst_ret": 7.99 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138030145, + "total_return_pct": 38.03, + "cagr_pct": 55.87, + "mdd_pct": 11.01, + "trades": 76, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.64 + } + }, + "alpha_pct": -57.07 + }, + "test": { + "final_equity": 132311892, + "total_return_pct": 32.31, + "cagr_pct": 144.28, + "mdd_pct": 5.75, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.48 + } + }, + "alpha_pct": -20.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.99, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.83, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.29, + "trades": 31 + } + ], + "worst_ret": 7.99 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143513367, + "total_return_pct": 43.51, + "cagr_pct": 64.46, + "mdd_pct": 10.01, + "trades": 74, + "open_positions": 7, + "win_rate_pct": 39.2, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.16 + } + }, + "alpha_pct": -51.59 + }, + "test": { + "final_equity": 131666462, + "total_return_pct": 31.67, + "cagr_pct": 140.5, + "mdd_pct": 6.78, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 4.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.84 + } + }, + "alpha_pct": -21.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.99, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.41, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.97, + "trades": 29 + } + ], + "worst_ret": 7.99 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143513367, + "total_return_pct": 43.51, + "cagr_pct": 64.46, + "mdd_pct": 10.01, + "trades": 74, + "open_positions": 7, + "win_rate_pct": 39.2, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.16 + } + }, + "alpha_pct": -51.59 + }, + "test": { + "final_equity": 131666462, + "total_return_pct": 31.67, + "cagr_pct": 140.5, + "mdd_pct": 6.78, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 4.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.84 + } + }, + "alpha_pct": -21.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.99, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.41, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.97, + "trades": 29 + } + ], + "worst_ret": 7.99 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137750762, + "total_return_pct": 37.75, + "cagr_pct": 55.43, + "mdd_pct": 14.3, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.92 + } + }, + "alpha_pct": -57.35 + }, + "test": { + "final_equity": 139321173, + "total_return_pct": 39.32, + "cagr_pct": 188.0, + "mdd_pct": 9.04, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 4.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.49 + } + }, + "alpha_pct": -13.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.32, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.76, + "trades": 20 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137750762, + "total_return_pct": 37.75, + "cagr_pct": 55.43, + "mdd_pct": 14.3, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.92 + } + }, + "alpha_pct": -57.35 + }, + "test": { + "final_equity": 139321173, + "total_return_pct": 39.32, + "cagr_pct": 188.0, + "mdd_pct": 9.04, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 4.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.49 + } + }, + "alpha_pct": -13.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.32, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 47.76, + "trades": 20 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141781536, + "total_return_pct": 41.78, + "cagr_pct": 61.73, + "mdd_pct": 14.31, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.89 + } + }, + "alpha_pct": -53.32 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.66, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.29, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141781536, + "total_return_pct": 41.78, + "cagr_pct": 61.73, + "mdd_pct": 14.31, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.89 + } + }, + "alpha_pct": -53.32 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.66, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.29, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144516991, + "total_return_pct": 44.52, + "cagr_pct": 66.04, + "mdd_pct": 11.19, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.15 + } + }, + "alpha_pct": -50.58 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.33, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.29, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144516991, + "total_return_pct": 44.52, + "cagr_pct": 66.04, + "mdd_pct": 11.19, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.15 + } + }, + "alpha_pct": -50.58 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.33, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.29, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138749715, + "total_return_pct": 38.75, + "cagr_pct": 56.99, + "mdd_pct": 13.1, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 2.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.92 + } + }, + "alpha_pct": -56.35 + }, + "test": { + "final_equity": 134614491, + "total_return_pct": 34.61, + "cagr_pct": 158.1, + "mdd_pct": 7.23, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 5.11, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.78 + } + }, + "alpha_pct": -18.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.51, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.1, + "trades": 20 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138749715, + "total_return_pct": 38.75, + "cagr_pct": 56.99, + "mdd_pct": 13.1, + "trades": 75, + "open_positions": 8, + "win_rate_pct": 36.0, + "profit_factor": 2.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.92 + } + }, + "alpha_pct": -56.35 + }, + "test": { + "final_equity": 134614491, + "total_return_pct": 34.61, + "cagr_pct": 158.1, + "mdd_pct": 7.23, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 5.11, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.78 + } + }, + "alpha_pct": -18.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.51, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 38.1, + "trades": 20 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142904424, + "total_return_pct": 42.9, + "cagr_pct": 63.5, + "mdd_pct": 13.11, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.77 + } + }, + "alpha_pct": -52.2 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.02, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.85, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142904424, + "total_return_pct": 42.9, + "cagr_pct": 63.5, + "mdd_pct": 13.11, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.77 + } + }, + "alpha_pct": -52.2 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 33.02, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.85, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150098967, + "total_return_pct": 50.1, + "cagr_pct": 74.94, + "mdd_pct": 10.26, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.0 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.43 + } + }, + "alpha_pct": -45.0 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.6, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.85, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150098967, + "total_return_pct": 50.1, + "cagr_pct": 74.94, + "mdd_pct": 10.26, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 3.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.0 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.43 + } + }, + "alpha_pct": -45.0 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.98, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 31.6, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 35.85, + "trades": 19 + } + ], + "worst_ret": 7.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136756742, + "total_return_pct": 36.76, + "cagr_pct": 53.89, + "mdd_pct": 11.32, + "trades": 76, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 2.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.91 + } + }, + "alpha_pct": -58.34 + }, + "test": { + "final_equity": 133879543, + "total_return_pct": 33.88, + "cagr_pct": 153.63, + "mdd_pct": 7.18, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.05 + } + }, + "alpha_pct": -18.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.92, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.44, + "trades": 31 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136756742, + "total_return_pct": 36.76, + "cagr_pct": 53.89, + "mdd_pct": 11.32, + "trades": 76, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 2.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.91 + } + }, + "alpha_pct": -58.34 + }, + "test": { + "final_equity": 133879543, + "total_return_pct": 33.88, + "cagr_pct": 153.63, + "mdd_pct": 7.18, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 39.1, + "profit_factor": 4.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.05 + } + }, + "alpha_pct": -18.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.92, + "trades": 33 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.44, + "trades": 31 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143854606, + "total_return_pct": 43.85, + "cagr_pct": 64.99, + "mdd_pct": 10.02, + "trades": 74, + "open_positions": 7, + "win_rate_pct": 39.2, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.82 + } + }, + "alpha_pct": -51.25 + }, + "test": { + "final_equity": 133330148, + "total_return_pct": 33.33, + "cagr_pct": 150.33, + "mdd_pct": 7.64, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 3.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.5 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.5 + } + }, + "alpha_pct": -19.5 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.38, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.35, + "trades": 29 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143854606, + "total_return_pct": 43.85, + "cagr_pct": 64.99, + "mdd_pct": 10.02, + "trades": 74, + "open_positions": 7, + "win_rate_pct": 39.2, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.82 + } + }, + "alpha_pct": -51.25 + }, + "test": { + "final_equity": 133330148, + "total_return_pct": 33.33, + "cagr_pct": 150.33, + "mdd_pct": 7.64, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 30.4, + "profit_factor": 3.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.5 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.5 + } + }, + "alpha_pct": -19.5 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.38, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 41.35, + "trades": 29 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150069897, + "total_return_pct": 50.07, + "cagr_pct": 74.89, + "mdd_pct": 10.96, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 38.6, + "profit_factor": 5.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.4 + } + }, + "alpha_pct": -45.03 + }, + "test": { + "final_equity": 129754873, + "total_return_pct": 29.75, + "cagr_pct": 129.54, + "mdd_pct": 8.06, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 41.7, + "profit_factor": 6.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.08 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.92 + } + }, + "alpha_pct": -23.08 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.83, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.6, + "trades": 13 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150069897, + "total_return_pct": 50.07, + "cagr_pct": 74.89, + "mdd_pct": 10.96, + "trades": 44, + "open_positions": 8, + "win_rate_pct": 38.6, + "profit_factor": 5.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.03 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.4 + } + }, + "alpha_pct": -45.03 + }, + "test": { + "final_equity": 129754873, + "total_return_pct": 29.75, + "cagr_pct": 129.54, + "mdd_pct": 8.06, + "trades": 12, + "open_positions": 5, + "win_rate_pct": 41.7, + "profit_factor": 6.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -23.08 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 43.92 + } + }, + "alpha_pct": -23.08 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.83, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.6, + "trades": 13 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144893117, + "total_return_pct": 44.89, + "cagr_pct": 66.64, + "mdd_pct": 11.65, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 5.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.78 + } + }, + "alpha_pct": -50.21 + }, + "test": { + "final_equity": 123567471, + "total_return_pct": 23.57, + "cagr_pct": 96.41, + "mdd_pct": 4.55, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.74 + } + }, + "alpha_pct": -29.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.01, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.46, + "trades": 16 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144893117, + "total_return_pct": 44.89, + "cagr_pct": 66.64, + "mdd_pct": 11.65, + "trades": 46, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 5.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.78 + } + }, + "alpha_pct": -50.21 + }, + "test": { + "final_equity": 123567471, + "total_return_pct": 23.57, + "cagr_pct": 96.41, + "mdd_pct": 4.55, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.74 + } + }, + "alpha_pct": -29.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.01, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.46, + "trades": 16 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146642005, + "total_return_pct": 46.64, + "cagr_pct": 69.41, + "mdd_pct": 11.84, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 5.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.03 + } + }, + "alpha_pct": -48.46 + }, + "test": { + "final_equity": 123567471, + "total_return_pct": 23.57, + "cagr_pct": 96.41, + "mdd_pct": 4.55, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.74 + } + }, + "alpha_pct": -29.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.86, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.46, + "trades": 16 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146642005, + "total_return_pct": 46.64, + "cagr_pct": 69.41, + "mdd_pct": 11.84, + "trades": 45, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 5.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.03 + } + }, + "alpha_pct": -48.46 + }, + "test": { + "final_equity": 123567471, + "total_return_pct": 23.57, + "cagr_pct": 96.41, + "mdd_pct": 4.55, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 5.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.74 + } + }, + "alpha_pct": -29.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 11 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.86, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 20.46, + "trades": 16 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150083899, + "total_return_pct": 50.08, + "cagr_pct": 74.91, + "mdd_pct": 11.04, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 40.7, + "profit_factor": 4.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.41 + } + }, + "alpha_pct": -45.02 + }, + "test": { + "final_equity": 120841276, + "total_return_pct": 20.84, + "cagr_pct": 82.92, + "mdd_pct": 4.78, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.01 + } + }, + "alpha_pct": -31.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.11, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.63, + "trades": 28 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150083899, + "total_return_pct": 50.08, + "cagr_pct": 74.91, + "mdd_pct": 11.04, + "trades": 54, + "open_positions": 8, + "win_rate_pct": 40.7, + "profit_factor": 4.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.41 + } + }, + "alpha_pct": -45.02 + }, + "test": { + "final_equity": 120841276, + "total_return_pct": 20.84, + "cagr_pct": 82.92, + "mdd_pct": 4.78, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 4.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.01 + } + }, + "alpha_pct": -31.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.11, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.63, + "trades": 28 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 154534184, + "total_return_pct": 54.53, + "cagr_pct": 82.09, + "mdd_pct": 10.22, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 44.0, + "profit_factor": 4.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.86 + } + }, + "alpha_pct": -40.57 + }, + "test": { + "final_equity": 120423385, + "total_return_pct": 20.42, + "cagr_pct": 80.91, + "mdd_pct": 4.79, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 4.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.41 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.59 + } + }, + "alpha_pct": -32.41 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.44, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.36, + "trades": 27 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 154534184, + "total_return_pct": 54.53, + "cagr_pct": 82.09, + "mdd_pct": 10.22, + "trades": 50, + "open_positions": 8, + "win_rate_pct": 44.0, + "profit_factor": 4.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -40.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.86 + } + }, + "alpha_pct": -40.57 + }, + "test": { + "final_equity": 120423385, + "total_return_pct": 20.42, + "cagr_pct": 80.91, + "mdd_pct": 4.79, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 4.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -32.41 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 34.59 + } + }, + "alpha_pct": -32.41 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.96, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.44, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.36, + "trades": 27 + } + ], + "worst_ret": 7.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125054579, + "total_return_pct": 25.05, + "cagr_pct": 36.05, + "mdd_pct": 14.24, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 26.9, + "profit_factor": 1.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.05 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.62 + } + }, + "alpha_pct": -70.05 + }, + "test": { + "final_equity": 105345078, + "total_return_pct": 5.35, + "cagr_pct": 18.07, + "mdd_pct": 8.82, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.52 + } + }, + "alpha_pct": -47.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.81, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.46, + "trades": 20 + } + ], + "worst_ret": 7.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125054579, + "total_return_pct": 25.05, + "cagr_pct": 36.05, + "mdd_pct": 14.24, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 26.9, + "profit_factor": 1.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.05 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.62 + } + }, + "alpha_pct": -70.05 + }, + "test": { + "final_equity": 105345078, + "total_return_pct": 5.35, + "cagr_pct": 18.07, + "mdd_pct": 8.82, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.52 + } + }, + "alpha_pct": -47.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.81, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.46, + "trades": 20 + } + ], + "worst_ret": 7.9 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149815352, + "total_return_pct": 49.82, + "cagr_pct": 74.48, + "mdd_pct": 9.97, + "trades": 56, + "open_positions": 8, + "win_rate_pct": 35.7, + "profit_factor": 3.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.28 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.15 + } + }, + "alpha_pct": -45.28 + }, + "test": { + "final_equity": 108842747, + "total_return_pct": 8.84, + "cagr_pct": 31.03, + "mdd_pct": 7.76, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 1.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.01 + } + }, + "alpha_pct": -43.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.37, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.37, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.88, + "trades": 32 + } + ], + "worst_ret": 7.88 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149815352, + "total_return_pct": 49.82, + "cagr_pct": 74.48, + "mdd_pct": 9.97, + "trades": 56, + "open_positions": 8, + "win_rate_pct": 35.7, + "profit_factor": 3.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.28 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.15 + } + }, + "alpha_pct": -45.28 + }, + "test": { + "final_equity": 108842747, + "total_return_pct": 8.84, + "cagr_pct": 31.03, + "mdd_pct": 7.76, + "trades": 23, + "open_positions": 7, + "win_rate_pct": 30.4, + "profit_factor": 1.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.99 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.01 + } + }, + "alpha_pct": -43.99 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.37, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.37, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.88, + "trades": 32 + } + ], + "worst_ret": 7.88 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131337250, + "total_return_pct": 31.34, + "cagr_pct": 45.55, + "mdd_pct": 14.16, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 2.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.33 + } + }, + "alpha_pct": -63.76 + }, + "test": { + "final_equity": 108699142, + "total_return_pct": 8.7, + "cagr_pct": 30.48, + "mdd_pct": 9.62, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 2.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.87 + } + }, + "alpha_pct": -44.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.62, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.82, + "trades": 24 + } + ], + "worst_ret": 7.85 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131337250, + "total_return_pct": 31.34, + "cagr_pct": 45.55, + "mdd_pct": 14.16, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 2.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.33 + } + }, + "alpha_pct": -63.76 + }, + "test": { + "final_equity": 108699142, + "total_return_pct": 8.7, + "cagr_pct": 30.48, + "mdd_pct": 9.62, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 2.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.87 + } + }, + "alpha_pct": -44.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.62, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.82, + "trades": 24 + } + ], + "worst_ret": 7.85 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130345175, + "total_return_pct": 30.35, + "cagr_pct": 44.04, + "mdd_pct": 12.76, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 27.6, + "profit_factor": 2.08, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.32 + } + }, + "alpha_pct": -64.75 + }, + "test": { + "final_equity": 100609895, + "total_return_pct": 0.61, + "cagr_pct": 1.96, + "mdd_pct": 7.47, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 1.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.78 + } + }, + "alpha_pct": -52.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.83, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.21, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.74, + "trades": 18 + } + ], + "worst_ret": 7.83 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130345175, + "total_return_pct": 30.35, + "cagr_pct": 44.04, + "mdd_pct": 12.76, + "trades": 58, + "open_positions": 8, + "win_rate_pct": 27.6, + "profit_factor": 2.08, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.32 + } + }, + "alpha_pct": -64.75 + }, + "test": { + "final_equity": 100609895, + "total_return_pct": 0.61, + "cagr_pct": 1.96, + "mdd_pct": 7.47, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 1.24, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.78 + } + }, + "alpha_pct": -52.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.83, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.21, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.74, + "trades": 18 + } + ], + "worst_ret": 7.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145826041, + "total_return_pct": 45.83, + "cagr_pct": 68.12, + "mdd_pct": 9.94, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.84 + } + }, + "alpha_pct": -49.27 + }, + "test": { + "final_equity": 132820146, + "total_return_pct": 32.82, + "cagr_pct": 147.28, + "mdd_pct": 6.05, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.99 + } + }, + "alpha_pct": -20.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.8, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 43.45, + "trades": 20 + } + ], + "worst_ret": 7.8 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145826041, + "total_return_pct": 45.83, + "cagr_pct": 68.12, + "mdd_pct": 9.94, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.84 + } + }, + "alpha_pct": -49.27 + }, + "test": { + "final_equity": 132820146, + "total_return_pct": 32.82, + "cagr_pct": 147.28, + "mdd_pct": 6.05, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.99 + } + }, + "alpha_pct": -20.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.8, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 43.45, + "trades": 20 + } + ], + "worst_ret": 7.8 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149111328, + "total_return_pct": 49.11, + "cagr_pct": 73.35, + "mdd_pct": 9.95, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 4.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.44 + } + }, + "alpha_pct": -45.99 + }, + "test": { + "final_equity": 132820146, + "total_return_pct": 32.82, + "cagr_pct": 147.28, + "mdd_pct": 6.05, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.99 + } + }, + "alpha_pct": -20.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.72, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 43.45, + "trades": 20 + } + ], + "worst_ret": 7.72 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149111328, + "total_return_pct": 49.11, + "cagr_pct": 73.35, + "mdd_pct": 9.95, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 4.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.44 + } + }, + "alpha_pct": -45.99 + }, + "test": { + "final_equity": 132820146, + "total_return_pct": 32.82, + "cagr_pct": 147.28, + "mdd_pct": 6.05, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.99 + } + }, + "alpha_pct": -20.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.72, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 43.45, + "trades": 20 + } + ], + "worst_ret": 7.72 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138667925, + "total_return_pct": 38.67, + "cagr_pct": 56.86, + "mdd_pct": 15.0, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.0 + } + }, + "alpha_pct": -56.43 + }, + "test": { + "final_equity": 107120032, + "total_return_pct": 7.12, + "cagr_pct": 24.53, + "mdd_pct": 9.8, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 2.04, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.29 + } + }, + "alpha_pct": -45.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.69, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.7, + "trades": 14 + } + ], + "worst_ret": 7.7 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138667925, + "total_return_pct": 38.67, + "cagr_pct": 56.86, + "mdd_pct": 15.0, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.0 + } + }, + "alpha_pct": -56.43 + }, + "test": { + "final_equity": 107120032, + "total_return_pct": 7.12, + "cagr_pct": 24.53, + "mdd_pct": 9.8, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 2.04, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.29 + } + }, + "alpha_pct": -45.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.69, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.7, + "trades": 14 + } + ], + "worst_ret": 7.7 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139013819, + "total_return_pct": 39.01, + "cagr_pct": 57.4, + "mdd_pct": 13.91, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.66 + } + }, + "alpha_pct": -56.09 + }, + "test": { + "final_equity": 105321902, + "total_return_pct": 5.32, + "cagr_pct": 17.99, + "mdd_pct": 8.28, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.49 + } + }, + "alpha_pct": -47.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.67, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.76, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.58, + "trades": 21 + } + ], + "worst_ret": 7.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139013819, + "total_return_pct": 39.01, + "cagr_pct": 57.4, + "mdd_pct": 13.91, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.66 + } + }, + "alpha_pct": -56.09 + }, + "test": { + "final_equity": 105321902, + "total_return_pct": 5.32, + "cagr_pct": 17.99, + "mdd_pct": 8.28, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.49 + } + }, + "alpha_pct": -47.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.67, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.76, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 21.58, + "trades": 21 + } + ], + "worst_ret": 7.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136012252, + "total_return_pct": 36.01, + "cagr_pct": 52.74, + "mdd_pct": 14.15, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 2.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.66 + } + }, + "alpha_pct": -59.09 + }, + "test": { + "final_equity": 103411136, + "total_return_pct": 3.41, + "cagr_pct": 11.29, + "mdd_pct": 8.42, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 23.8, + "profit_factor": 1.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.58 + } + }, + "alpha_pct": -49.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.67, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.48, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.94, + "trades": 22 + } + ], + "worst_ret": 7.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136012252, + "total_return_pct": 36.01, + "cagr_pct": 52.74, + "mdd_pct": 14.15, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 2.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.66 + } + }, + "alpha_pct": -59.09 + }, + "test": { + "final_equity": 103411136, + "total_return_pct": 3.41, + "cagr_pct": 11.29, + "mdd_pct": 8.42, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 23.8, + "profit_factor": 1.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.58 + } + }, + "alpha_pct": -49.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.67, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.48, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.94, + "trades": 22 + } + ], + "worst_ret": 7.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134614110, + "total_return_pct": 34.61, + "cagr_pct": 50.58, + "mdd_pct": 14.7, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 25.0, + "profit_factor": 2.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.49 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.06 + } + }, + "alpha_pct": -60.49 + }, + "test": { + "final_equity": 100540168, + "total_return_pct": 0.54, + "cagr_pct": 1.73, + "mdd_pct": 13.82, + "trades": 17, + "open_positions": 8, + "win_rate_pct": 11.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.71 + } + }, + "alpha_pct": -52.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.67, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.0, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.7, + "trades": 18 + } + ], + "worst_ret": 7.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134614110, + "total_return_pct": 34.61, + "cagr_pct": 50.58, + "mdd_pct": 14.7, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 25.0, + "profit_factor": 2.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.49 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.06 + } + }, + "alpha_pct": -60.49 + }, + "test": { + "final_equity": 100540168, + "total_return_pct": 0.54, + "cagr_pct": 1.73, + "mdd_pct": 13.82, + "trades": 17, + "open_positions": 8, + "win_rate_pct": 11.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.71 + } + }, + "alpha_pct": -52.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.67, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.0, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.7, + "trades": 18 + } + ], + "worst_ret": 7.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136706046, + "total_return_pct": 36.71, + "cagr_pct": 53.81, + "mdd_pct": 14.63, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.39 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.96 + } + }, + "alpha_pct": -58.39 + }, + "test": { + "final_equity": 100090141, + "total_return_pct": 0.09, + "cagr_pct": 0.29, + "mdd_pct": 10.08, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.26 + } + }, + "alpha_pct": -52.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.71, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.55, + "trades": 22 + } + ], + "worst_ret": 7.63 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136706046, + "total_return_pct": 36.71, + "cagr_pct": 53.81, + "mdd_pct": 14.63, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.42, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.39 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.96 + } + }, + "alpha_pct": -58.39 + }, + "test": { + "final_equity": 100090141, + "total_return_pct": 0.09, + "cagr_pct": 0.29, + "mdd_pct": 10.08, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.26 + } + }, + "alpha_pct": -52.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.71, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.55, + "trades": 22 + } + ], + "worst_ret": 7.63 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135642578, + "total_return_pct": 35.64, + "cagr_pct": 52.17, + "mdd_pct": 11.03, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 35.1, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.03 + } + }, + "alpha_pct": -59.46 + }, + "test": { + "final_equity": 98974171, + "total_return_pct": -1.03, + "cagr_pct": -3.24, + "mdd_pct": 10.88, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.14 + } + }, + "alpha_pct": -53.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.08, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.34, + "trades": 26 + } + ], + "worst_ret": 7.63 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135642578, + "total_return_pct": 35.64, + "cagr_pct": 52.17, + "mdd_pct": 11.03, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 35.1, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.03 + } + }, + "alpha_pct": -59.46 + }, + "test": { + "final_equity": 98974171, + "total_return_pct": -1.03, + "cagr_pct": -3.24, + "mdd_pct": 10.88, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.14 + } + }, + "alpha_pct": -53.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.08, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.34, + "trades": 26 + } + ], + "worst_ret": 7.63 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136562730, + "total_return_pct": 36.56, + "cagr_pct": 53.59, + "mdd_pct": 11.75, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 33.9, + "profit_factor": 2.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.11 + } + }, + "alpha_pct": -58.54 + }, + "test": { + "final_equity": 105294192, + "total_return_pct": 5.29, + "cagr_pct": 17.89, + "mdd_pct": 5.98, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 1.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.46 + } + }, + "alpha_pct": -47.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.62, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.07, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.29, + "trades": 22 + } + ], + "worst_ret": 7.62 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136562730, + "total_return_pct": 36.56, + "cagr_pct": 53.59, + "mdd_pct": 11.75, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 33.9, + "profit_factor": 2.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.11 + } + }, + "alpha_pct": -58.54 + }, + "test": { + "final_equity": 105294192, + "total_return_pct": 5.29, + "cagr_pct": 17.89, + "mdd_pct": 5.98, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 1.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.46 + } + }, + "alpha_pct": -47.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.62, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.07, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.29, + "trades": 22 + } + ], + "worst_ret": 7.62 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138402910, + "total_return_pct": 38.4, + "cagr_pct": 56.45, + "mdd_pct": 9.55, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 29.6, + "profit_factor": 2.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.27 + } + }, + "alpha_pct": -56.7 + }, + "test": { + "final_equity": 99811264, + "total_return_pct": -0.19, + "cagr_pct": -0.6, + "mdd_pct": 12.18, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 13.3, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.98 + } + }, + "alpha_pct": -53.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.62, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.01, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.33, + "trades": 16 + } + ], + "worst_ret": 7.62 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138402910, + "total_return_pct": 38.4, + "cagr_pct": 56.45, + "mdd_pct": 9.55, + "trades": 54, + "open_positions": 7, + "win_rate_pct": 29.6, + "profit_factor": 2.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.27 + } + }, + "alpha_pct": -56.7 + }, + "test": { + "final_equity": 99811264, + "total_return_pct": -0.19, + "cagr_pct": -0.6, + "mdd_pct": 12.18, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 13.3, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.98 + } + }, + "alpha_pct": -53.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.62, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.01, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.33, + "trades": 16 + } + ], + "worst_ret": 7.62 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138793125, + "total_return_pct": 38.79, + "cagr_pct": 57.05, + "mdd_pct": 12.17, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 21.0, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.88 + } + }, + "alpha_pct": -56.31 + }, + "test": { + "final_equity": 144317905, + "total_return_pct": 44.32, + "cagr_pct": 222.26, + "mdd_pct": 9.56, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 7.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -8.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 58.49 + } + }, + "alpha_pct": -8.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.4, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.19, + "trades": 18 + } + ], + "worst_ret": 7.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138793125, + "total_return_pct": 38.79, + "cagr_pct": 57.05, + "mdd_pct": 12.17, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 21.0, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.88 + } + }, + "alpha_pct": -56.31 + }, + "test": { + "final_equity": 144317905, + "total_return_pct": 44.32, + "cagr_pct": 222.26, + "mdd_pct": 9.56, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 7.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -8.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 58.49 + } + }, + "alpha_pct": -8.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.4, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 42.19, + "trades": 18 + } + ], + "worst_ret": 7.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132333346, + "total_return_pct": 32.33, + "cagr_pct": 47.08, + "mdd_pct": 13.2, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 31.0, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.34 + } + }, + "alpha_pct": -62.77 + }, + "test": { + "final_equity": 141111393, + "total_return_pct": 41.11, + "cagr_pct": 199.97, + "mdd_pct": 9.24, + "trades": 17, + "open_positions": 7, + "win_rate_pct": 35.3, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.28 + } + }, + "alpha_pct": -11.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.4, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.33, + "trades": 22 + } + ], + "worst_ret": 7.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132333346, + "total_return_pct": 32.33, + "cagr_pct": 47.08, + "mdd_pct": 13.2, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 31.0, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.34 + } + }, + "alpha_pct": -62.77 + }, + "test": { + "final_equity": 141111393, + "total_return_pct": 41.11, + "cagr_pct": 199.97, + "mdd_pct": 9.24, + "trades": 17, + "open_positions": 7, + "win_rate_pct": 35.3, + "profit_factor": 5.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -11.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 55.28 + } + }, + "alpha_pct": -11.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.4, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 45.33, + "trades": 22 + } + ], + "worst_ret": 7.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133490034, + "total_return_pct": 33.49, + "cagr_pct": 48.85, + "mdd_pct": 12.29, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 25.4, + "profit_factor": 2.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.18 + } + }, + "alpha_pct": -61.61 + }, + "test": { + "final_equity": 138755561, + "total_return_pct": 38.76, + "cagr_pct": 184.29, + "mdd_pct": 9.15, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 5.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.07 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.93 + } + }, + "alpha_pct": -14.07 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.73, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.83, + "trades": 20 + } + ], + "worst_ret": 7.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133490034, + "total_return_pct": 33.49, + "cagr_pct": 48.85, + "mdd_pct": 12.29, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 25.4, + "profit_factor": 2.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.18 + } + }, + "alpha_pct": -61.61 + }, + "test": { + "final_equity": 138755561, + "total_return_pct": 38.76, + "cagr_pct": 184.29, + "mdd_pct": 9.15, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 5.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.07 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.93 + } + }, + "alpha_pct": -14.07 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.61, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.73, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.83, + "trades": 20 + } + ], + "worst_ret": 7.61 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140729868, + "total_return_pct": 40.73, + "cagr_pct": 60.08, + "mdd_pct": 10.01, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 41.8, + "profit_factor": 3.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.94 + } + }, + "alpha_pct": -54.37 + }, + "test": { + "final_equity": 124297820, + "total_return_pct": 24.3, + "cagr_pct": 100.14, + "mdd_pct": 4.76, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 6.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.47 + } + }, + "alpha_pct": -28.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.6, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.05, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.43, + "trades": 20 + } + ], + "worst_ret": 7.6 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140729868, + "total_return_pct": 40.73, + "cagr_pct": 60.08, + "mdd_pct": 10.01, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 41.8, + "profit_factor": 3.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.94 + } + }, + "alpha_pct": -54.37 + }, + "test": { + "final_equity": 124297820, + "total_return_pct": 24.3, + "cagr_pct": 100.14, + "mdd_pct": 4.76, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 6.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.53 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.47 + } + }, + "alpha_pct": -28.53 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.6, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.05, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.43, + "trades": 20 + } + ], + "worst_ret": 7.6 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136641096, + "total_return_pct": 36.64, + "cagr_pct": 53.71, + "mdd_pct": 12.42, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.03 + } + }, + "alpha_pct": -58.46 + }, + "test": { + "final_equity": 102812309, + "total_return_pct": 2.81, + "cagr_pct": 9.25, + "mdd_pct": 7.25, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.98 + } + }, + "alpha_pct": -50.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.62, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.08, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.57, + "trades": 20 + } + ], + "worst_ret": 7.57 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136641096, + "total_return_pct": 36.64, + "cagr_pct": 53.71, + "mdd_pct": 12.42, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.03 + } + }, + "alpha_pct": -58.46 + }, + "test": { + "final_equity": 102812309, + "total_return_pct": 2.81, + "cagr_pct": 9.25, + "mdd_pct": 7.25, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.98 + } + }, + "alpha_pct": -50.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.62, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.08, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.57, + "trades": 20 + } + ], + "worst_ret": 7.57 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132726127, + "total_return_pct": 32.73, + "cagr_pct": 47.68, + "mdd_pct": 12.19, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 28.1, + "profit_factor": 2.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.94 + } + }, + "alpha_pct": -62.37 + }, + "test": { + "final_equity": 96432826, + "total_return_pct": -3.57, + "cagr_pct": -10.94, + "mdd_pct": 15.18, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.6 + } + }, + "alpha_pct": -56.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.28, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.54, + "trades": 19 + } + ], + "worst_ret": 7.54 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132726127, + "total_return_pct": 32.73, + "cagr_pct": 47.68, + "mdd_pct": 12.19, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 28.1, + "profit_factor": 2.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.94 + } + }, + "alpha_pct": -62.37 + }, + "test": { + "final_equity": 96432826, + "total_return_pct": -3.57, + "cagr_pct": -10.94, + "mdd_pct": 15.18, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.6 + } + }, + "alpha_pct": -56.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.28, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.54, + "trades": 19 + } + ], + "worst_ret": 7.54 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143169854, + "total_return_pct": 43.17, + "cagr_pct": 63.91, + "mdd_pct": 12.6, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.5 + } + }, + "alpha_pct": -51.93 + }, + "test": { + "final_equity": 98665691, + "total_return_pct": -1.33, + "cagr_pct": -4.19, + "mdd_pct": 12.65, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.84 + } + }, + "alpha_pct": -54.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.14, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.71, + "trades": 29 + } + ], + "worst_ret": 7.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143169854, + "total_return_pct": 43.17, + "cagr_pct": 63.91, + "mdd_pct": 12.6, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.5 + } + }, + "alpha_pct": -51.93 + }, + "test": { + "final_equity": 98665691, + "total_return_pct": -1.33, + "cagr_pct": -4.19, + "mdd_pct": 12.65, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.84 + } + }, + "alpha_pct": -54.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.51, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.14, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.71, + "trades": 29 + } + ], + "worst_ret": 7.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133584577, + "total_return_pct": 33.58, + "cagr_pct": 49.0, + "mdd_pct": 14.77, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 3.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.09 + } + }, + "alpha_pct": -61.52 + }, + "test": { + "final_equity": 104948915, + "total_return_pct": 4.95, + "cagr_pct": 16.66, + "mdd_pct": 7.89, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 1.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.12 + } + }, + "alpha_pct": -47.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.97, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.43, + "trades": 13 + } + ], + "worst_ret": 7.43 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133584577, + "total_return_pct": 33.58, + "cagr_pct": 49.0, + "mdd_pct": 14.77, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 3.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.09 + } + }, + "alpha_pct": -61.52 + }, + "test": { + "final_equity": 104948915, + "total_return_pct": 4.95, + "cagr_pct": 16.66, + "mdd_pct": 7.89, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 1.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.12 + } + }, + "alpha_pct": -47.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.58, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.97, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.43, + "trades": 13 + } + ], + "worst_ret": 7.43 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127967671, + "total_return_pct": 27.97, + "cagr_pct": 40.44, + "mdd_pct": 11.36, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 37.1, + "profit_factor": 2.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.7 + } + }, + "alpha_pct": -67.13 + }, + "test": { + "final_equity": 102452201, + "total_return_pct": 2.45, + "cagr_pct": 8.03, + "mdd_pct": 10.27, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.62 + } + }, + "alpha_pct": -50.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.49, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.4, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.99, + "trades": 25 + } + ], + "worst_ret": 7.4 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127967671, + "total_return_pct": 27.97, + "cagr_pct": 40.44, + "mdd_pct": 11.36, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 37.1, + "profit_factor": 2.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.7 + } + }, + "alpha_pct": -67.13 + }, + "test": { + "final_equity": 102452201, + "total_return_pct": 2.45, + "cagr_pct": 8.03, + "mdd_pct": 10.27, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.62 + } + }, + "alpha_pct": -50.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.49, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.4, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.99, + "trades": 25 + } + ], + "worst_ret": 7.4 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130160388, + "total_return_pct": 30.16, + "cagr_pct": 43.76, + "mdd_pct": 11.45, + "trades": 68, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 2.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.51 + } + }, + "alpha_pct": -64.94 + }, + "test": { + "final_equity": 100105367, + "total_return_pct": 0.11, + "cagr_pct": 0.34, + "mdd_pct": 12.54, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 21.7, + "profit_factor": 1.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.28 + } + }, + "alpha_pct": -52.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.38, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.75, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.37, + "trades": 30 + } + ], + "worst_ret": 7.37 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130160388, + "total_return_pct": 30.16, + "cagr_pct": 43.76, + "mdd_pct": 11.45, + "trades": 68, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 2.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.51 + } + }, + "alpha_pct": -64.94 + }, + "test": { + "final_equity": 100105367, + "total_return_pct": 0.11, + "cagr_pct": 0.34, + "mdd_pct": 12.54, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 21.7, + "profit_factor": 1.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.72 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.28 + } + }, + "alpha_pct": -52.72 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.38, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.75, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.37, + "trades": 30 + } + ], + "worst_ret": 7.37 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150127551, + "total_return_pct": 50.13, + "cagr_pct": 74.98, + "mdd_pct": 13.6, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 35.4, + "profit_factor": 3.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.46 + } + }, + "alpha_pct": -44.97 + }, + "test": { + "final_equity": 113034907, + "total_return_pct": 13.03, + "cagr_pct": 47.82, + "mdd_pct": 11.66, + "trades": 26, + "open_positions": 6, + "win_rate_pct": 34.6, + "profit_factor": 1.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -39.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 27.2 + } + }, + "alpha_pct": -39.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.65, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.12, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.36, + "trades": 36 + } + ], + "worst_ret": 7.36 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 150127551, + "total_return_pct": 50.13, + "cagr_pct": 74.98, + "mdd_pct": 13.6, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 35.4, + "profit_factor": 3.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.46 + } + }, + "alpha_pct": -44.97 + }, + "test": { + "final_equity": 113034907, + "total_return_pct": 13.03, + "cagr_pct": 47.82, + "mdd_pct": 11.66, + "trades": 26, + "open_positions": 6, + "win_rate_pct": 34.6, + "profit_factor": 1.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -39.8 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 27.2 + } + }, + "alpha_pct": -39.8 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.65, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.12, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.36, + "trades": 36 + } + ], + "worst_ret": 7.36 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134200957, + "total_return_pct": 34.2, + "cagr_pct": 49.94, + "mdd_pct": 13.25, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 40.9, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.47 + } + }, + "alpha_pct": -60.9 + }, + "test": { + "final_equity": 103891848, + "total_return_pct": 3.89, + "cagr_pct": 12.95, + "mdd_pct": 6.54, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.06 + } + }, + "alpha_pct": -48.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.74, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.63, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.34, + "trades": 18 + } + ], + "worst_ret": 7.34 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134200957, + "total_return_pct": 34.2, + "cagr_pct": 49.94, + "mdd_pct": 13.25, + "trades": 44, + "open_positions": 7, + "win_rate_pct": 40.9, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.47 + } + }, + "alpha_pct": -60.9 + }, + "test": { + "final_equity": 103891848, + "total_return_pct": 3.89, + "cagr_pct": 12.95, + "mdd_pct": 6.54, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.06 + } + }, + "alpha_pct": -48.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.74, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.63, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.34, + "trades": 18 + } + ], + "worst_ret": 7.34 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134184252, + "total_return_pct": 34.18, + "cagr_pct": 49.92, + "mdd_pct": 13.47, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 42.9, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.49 + } + }, + "alpha_pct": -60.92 + }, + "test": { + "final_equity": 103891848, + "total_return_pct": 3.89, + "cagr_pct": 12.95, + "mdd_pct": 6.54, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.06 + } + }, + "alpha_pct": -48.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.74, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.47, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.34, + "trades": 18 + } + ], + "worst_ret": 7.34 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134184252, + "total_return_pct": 34.18, + "cagr_pct": 49.92, + "mdd_pct": 13.47, + "trades": 42, + "open_positions": 7, + "win_rate_pct": 42.9, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.49 + } + }, + "alpha_pct": -60.92 + }, + "test": { + "final_equity": 103891848, + "total_return_pct": 3.89, + "cagr_pct": 12.95, + "mdd_pct": 6.54, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.06 + } + }, + "alpha_pct": -48.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.74, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.47, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.34, + "trades": 18 + } + ], + "worst_ret": 7.34 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127607456, + "total_return_pct": 27.61, + "cagr_pct": 39.89, + "mdd_pct": 13.99, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 30.9, + "profit_factor": 2.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.49 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.06 + } + }, + "alpha_pct": -67.49 + }, + "test": { + "final_equity": 102630637, + "total_return_pct": 2.63, + "cagr_pct": 8.64, + "mdd_pct": 10.75, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.2 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.8 + } + }, + "alpha_pct": -50.2 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.33, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.06, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.71, + "trades": 21 + } + ], + "worst_ret": 7.33 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127607456, + "total_return_pct": 27.61, + "cagr_pct": 39.89, + "mdd_pct": 13.99, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 30.9, + "profit_factor": 2.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.49 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.06 + } + }, + "alpha_pct": -67.49 + }, + "test": { + "final_equity": 102630637, + "total_return_pct": 2.63, + "cagr_pct": 8.64, + "mdd_pct": 10.75, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.2 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.8 + } + }, + "alpha_pct": -50.2 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.33, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.06, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.71, + "trades": 21 + } + ], + "worst_ret": 7.33 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129123178, + "total_return_pct": 29.12, + "cagr_pct": 42.19, + "mdd_pct": 10.63, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.55 + } + }, + "alpha_pct": -65.98 + }, + "test": { + "final_equity": 111012908, + "total_return_pct": 11.01, + "cagr_pct": 39.55, + "mdd_pct": 9.36, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.18 + } + }, + "alpha_pct": -41.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.28, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.91, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.15, + "trades": 25 + } + ], + "worst_ret": 7.28 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129123178, + "total_return_pct": 29.12, + "cagr_pct": 42.19, + "mdd_pct": 10.63, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.55 + } + }, + "alpha_pct": -65.98 + }, + "test": { + "final_equity": 111012908, + "total_return_pct": 11.01, + "cagr_pct": 39.55, + "mdd_pct": 9.36, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.18 + } + }, + "alpha_pct": -41.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.28, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.91, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.15, + "trades": 25 + } + ], + "worst_ret": 7.28 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129184280, + "total_return_pct": 29.18, + "cagr_pct": 42.28, + "mdd_pct": 10.58, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.49 + } + }, + "alpha_pct": -65.92 + }, + "test": { + "final_equity": 108063688, + "total_return_pct": 8.06, + "cagr_pct": 28.07, + "mdd_pct": 7.46, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.23 + } + }, + "alpha_pct": -44.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.28, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.14, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.68, + "trades": 25 + } + ], + "worst_ret": 7.28 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129184280, + "total_return_pct": 29.18, + "cagr_pct": 42.28, + "mdd_pct": 10.58, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.49 + } + }, + "alpha_pct": -65.92 + }, + "test": { + "final_equity": 108063688, + "total_return_pct": 8.06, + "cagr_pct": 28.07, + "mdd_pct": 7.46, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.23 + } + }, + "alpha_pct": -44.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.28, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.14, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.68, + "trades": 25 + } + ], + "worst_ret": 7.28 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127689972, + "total_return_pct": 27.69, + "cagr_pct": 40.02, + "mdd_pct": 12.76, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.98 + } + }, + "alpha_pct": -67.41 + }, + "test": { + "final_equity": 105159676, + "total_return_pct": 5.16, + "cagr_pct": 17.41, + "mdd_pct": 5.63, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 47.1, + "profit_factor": 1.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.33 + } + }, + "alpha_pct": -47.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.26, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.53, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.35, + "trades": 19 + } + ], + "worst_ret": 7.26 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127689972, + "total_return_pct": 27.69, + "cagr_pct": 40.02, + "mdd_pct": 12.76, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.98 + } + }, + "alpha_pct": -67.41 + }, + "test": { + "final_equity": 105159676, + "total_return_pct": 5.16, + "cagr_pct": 17.41, + "mdd_pct": 5.63, + "trades": 17, + "open_positions": 6, + "win_rate_pct": 47.1, + "profit_factor": 1.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.33 + } + }, + "alpha_pct": -47.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.26, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.53, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.35, + "trades": 19 + } + ], + "worst_ret": 7.26 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145915732, + "total_return_pct": 45.92, + "cagr_pct": 68.26, + "mdd_pct": 12.18, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 29.7, + "profit_factor": 3.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.18 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.75 + } + }, + "alpha_pct": -49.18 + }, + "test": { + "final_equity": 107849530, + "total_return_pct": 7.85, + "cagr_pct": 27.26, + "mdd_pct": 11.35, + "trades": 24, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.02 + } + }, + "alpha_pct": -44.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.29, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.54, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.25, + "trades": 33 + } + ], + "worst_ret": 7.25 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145915732, + "total_return_pct": 45.92, + "cagr_pct": 68.26, + "mdd_pct": 12.18, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 29.7, + "profit_factor": 3.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.18 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.75 + } + }, + "alpha_pct": -49.18 + }, + "test": { + "final_equity": 107849530, + "total_return_pct": 7.85, + "cagr_pct": 27.26, + "mdd_pct": 11.35, + "trades": 24, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.02 + } + }, + "alpha_pct": -44.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.29, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.54, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.25, + "trades": 33 + } + ], + "worst_ret": 7.25 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137895200, + "total_return_pct": 37.9, + "cagr_pct": 55.66, + "mdd_pct": 10.81, + "trades": 77, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.77 + } + }, + "alpha_pct": -57.2 + }, + "test": { + "final_equity": 127361384, + "total_return_pct": 27.36, + "cagr_pct": 116.3, + "mdd_pct": 6.6, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.53 + } + }, + "alpha_pct": -25.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.06, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.51, + "trades": 31 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137895200, + "total_return_pct": 37.9, + "cagr_pct": 55.66, + "mdd_pct": 10.81, + "trades": 77, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.77 + } + }, + "alpha_pct": -57.2 + }, + "test": { + "final_equity": 127361384, + "total_return_pct": 27.36, + "cagr_pct": 116.3, + "mdd_pct": 6.6, + "trades": 23, + "open_positions": 4, + "win_rate_pct": 43.5, + "profit_factor": 4.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.53 + } + }, + "alpha_pct": -25.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.06, + "trades": 30 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 24.51, + "trades": 31 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142298888, + "total_return_pct": 42.3, + "cagr_pct": 62.54, + "mdd_pct": 9.98, + "trades": 73, + "open_positions": 7, + "win_rate_pct": 41.1, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.37 + } + }, + "alpha_pct": -52.8 + }, + "test": { + "final_equity": 126183972, + "total_return_pct": 26.18, + "cagr_pct": 109.99, + "mdd_pct": 6.29, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.35 + } + }, + "alpha_pct": -26.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.37, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.55, + "trades": 29 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142298888, + "total_return_pct": 42.3, + "cagr_pct": 62.54, + "mdd_pct": 9.98, + "trades": 73, + "open_positions": 7, + "win_rate_pct": 41.1, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.37 + } + }, + "alpha_pct": -52.8 + }, + "test": { + "final_equity": 126183972, + "total_return_pct": 26.18, + "cagr_pct": 109.99, + "mdd_pct": 6.29, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 34.8, + "profit_factor": 3.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -26.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 40.35 + } + }, + "alpha_pct": -26.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.37, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.55, + "trades": 29 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140772671, + "total_return_pct": 40.77, + "cagr_pct": 60.15, + "mdd_pct": 9.85, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 42.6, + "profit_factor": 3.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.9 + } + }, + "alpha_pct": -54.33 + }, + "test": { + "final_equity": 124067343, + "total_return_pct": 24.07, + "cagr_pct": 98.96, + "mdd_pct": 5.68, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.24 + } + }, + "alpha_pct": -28.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.37, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.19, + "trades": 27 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140772671, + "total_return_pct": 40.77, + "cagr_pct": 60.15, + "mdd_pct": 9.85, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 42.6, + "profit_factor": 3.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.9 + } + }, + "alpha_pct": -54.33 + }, + "test": { + "final_equity": 124067343, + "total_return_pct": 24.07, + "cagr_pct": 98.96, + "mdd_pct": 5.68, + "trades": 22, + "open_positions": 6, + "win_rate_pct": 31.8, + "profit_factor": 4.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.24 + } + }, + "alpha_pct": -28.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 29 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.37, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.19, + "trades": 27 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125878532, + "total_return_pct": 25.88, + "cagr_pct": 37.29, + "mdd_pct": 13.62, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.79 + } + }, + "alpha_pct": -69.22 + }, + "test": { + "final_equity": 111815828, + "total_return_pct": 11.82, + "cagr_pct": 42.8, + "mdd_pct": 3.67, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.99 + } + }, + "alpha_pct": -41.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.97, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.17, + "trades": 14 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125878532, + "total_return_pct": 25.88, + "cagr_pct": 37.29, + "mdd_pct": 13.62, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.79 + } + }, + "alpha_pct": -69.22 + }, + "test": { + "final_equity": 111815828, + "total_return_pct": 11.82, + "cagr_pct": 42.8, + "mdd_pct": 3.67, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.99 + } + }, + "alpha_pct": -41.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.97, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.17, + "trades": 14 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 124646630, + "total_return_pct": 24.65, + "cagr_pct": 35.44, + "mdd_pct": 13.85, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 32.6, + "profit_factor": 2.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -23.02 + } + }, + "alpha_pct": -70.45 + }, + "test": { + "final_equity": 111815828, + "total_return_pct": 11.82, + "cagr_pct": 42.8, + "mdd_pct": 3.67, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.99 + } + }, + "alpha_pct": -41.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.81, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.17, + "trades": 14 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 124646630, + "total_return_pct": 24.65, + "cagr_pct": 35.44, + "mdd_pct": 13.85, + "trades": 43, + "open_positions": 7, + "win_rate_pct": 32.6, + "profit_factor": 2.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -23.02 + } + }, + "alpha_pct": -70.45 + }, + "test": { + "final_equity": 111815828, + "total_return_pct": 11.82, + "cagr_pct": 42.8, + "mdd_pct": 3.67, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 46.2, + "profit_factor": 3.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.99 + } + }, + "alpha_pct": -41.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.81, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.17, + "trades": 14 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132329499, + "total_return_pct": 32.33, + "cagr_pct": 47.07, + "mdd_pct": 13.84, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 35.0, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.34 + } + }, + "alpha_pct": -62.77 + }, + "test": { + "final_equity": 111464981, + "total_return_pct": 11.46, + "cagr_pct": 41.37, + "mdd_pct": 5.62, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 27.3, + "profit_factor": 2.34, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.37 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.63 + } + }, + "alpha_pct": -41.37 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.67, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.98, + "trades": 12 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132329499, + "total_return_pct": 32.33, + "cagr_pct": 47.07, + "mdd_pct": 13.84, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 35.0, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.34 + } + }, + "alpha_pct": -62.77 + }, + "test": { + "final_equity": 111464981, + "total_return_pct": 11.46, + "cagr_pct": 41.37, + "mdd_pct": 5.62, + "trades": 11, + "open_positions": 7, + "win_rate_pct": 27.3, + "profit_factor": 2.34, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.37 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.63 + } + }, + "alpha_pct": -41.37 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.24, + "trades": 8 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.67, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.98, + "trades": 12 + } + ], + "worst_ret": 7.24 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139081165, + "total_return_pct": 39.08, + "cagr_pct": 57.5, + "mdd_pct": 14.66, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.59 + } + }, + "alpha_pct": -56.02 + }, + "test": { + "final_equity": 100974895, + "total_return_pct": 0.97, + "cagr_pct": 3.14, + "mdd_pct": 8.41, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.14 + } + }, + "alpha_pct": -51.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.01, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.23, + "trades": 22 + } + ], + "worst_ret": 7.23 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139081165, + "total_return_pct": 39.08, + "cagr_pct": 57.5, + "mdd_pct": 14.66, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 32.4, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.59 + } + }, + "alpha_pct": -56.02 + }, + "test": { + "final_equity": 100974895, + "total_return_pct": 0.97, + "cagr_pct": 3.14, + "mdd_pct": 8.41, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.14 + } + }, + "alpha_pct": -51.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.01, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.23, + "trades": 22 + } + ], + "worst_ret": 7.23 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139773823, + "total_return_pct": 39.77, + "cagr_pct": 58.58, + "mdd_pct": 11.34, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.9 + } + }, + "alpha_pct": -55.33 + }, + "test": { + "final_equity": 121095571, + "total_return_pct": 21.1, + "cagr_pct": 84.15, + "mdd_pct": 5.3, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 4.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.27 + } + }, + "alpha_pct": -31.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.18, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.02, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.69, + "trades": 19 + } + ], + "worst_ret": 7.18 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139773823, + "total_return_pct": 39.77, + "cagr_pct": 58.58, + "mdd_pct": 11.34, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.33 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.9 + } + }, + "alpha_pct": -55.33 + }, + "test": { + "final_equity": 121095571, + "total_return_pct": 21.1, + "cagr_pct": 84.15, + "mdd_pct": 5.3, + "trades": 15, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 4.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -31.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 35.27 + } + }, + "alpha_pct": -31.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.18, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.02, + "trades": 16 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.69, + "trades": 19 + } + ], + "worst_ret": 7.18 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142432426, + "total_return_pct": 42.43, + "cagr_pct": 62.75, + "mdd_pct": 10.84, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 2.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.24 + } + }, + "alpha_pct": -52.67 + }, + "test": { + "final_equity": 118047199, + "total_return_pct": 18.05, + "cagr_pct": 69.77, + "mdd_pct": 5.62, + "trades": 14, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -34.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 32.22 + } + }, + "alpha_pct": -34.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.18, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.85, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.61, + "trades": 17 + } + ], + "worst_ret": 7.18 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142432426, + "total_return_pct": 42.43, + "cagr_pct": 62.75, + "mdd_pct": 10.84, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 32.3, + "profit_factor": 2.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.24 + } + }, + "alpha_pct": -52.67 + }, + "test": { + "final_equity": 118047199, + "total_return_pct": 18.05, + "cagr_pct": 69.77, + "mdd_pct": 5.62, + "trades": 14, + "open_positions": 8, + "win_rate_pct": 42.9, + "profit_factor": 3.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -34.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 32.22 + } + }, + "alpha_pct": -34.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.18, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.85, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.61, + "trades": 17 + } + ], + "worst_ret": 7.18 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147663085, + "total_return_pct": 47.66, + "cagr_pct": 71.04, + "mdd_pct": 12.59, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.01 + } + }, + "alpha_pct": -47.44 + }, + "test": { + "final_equity": 99424316, + "total_return_pct": -0.58, + "cagr_pct": -1.82, + "mdd_pct": 11.19, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.41 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.59 + } + }, + "alpha_pct": -53.41 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.16, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.96, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.51, + "trades": 32 + } + ], + "worst_ret": 7.16 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 147663085, + "total_return_pct": 47.66, + "cagr_pct": 71.04, + "mdd_pct": 12.59, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.01 + } + }, + "alpha_pct": -47.44 + }, + "test": { + "final_equity": 99424316, + "total_return_pct": -0.58, + "cagr_pct": -1.82, + "mdd_pct": 11.19, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.41 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.59 + } + }, + "alpha_pct": -53.41 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.16, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.96, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.51, + "trades": 32 + } + ], + "worst_ret": 7.16 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146335986, + "total_return_pct": 46.34, + "cagr_pct": 68.93, + "mdd_pct": 9.95, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.33 + } + }, + "alpha_pct": -48.76 + }, + "test": { + "final_equity": 138070131, + "total_return_pct": 38.07, + "cagr_pct": 179.83, + "mdd_pct": 6.96, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.24 + } + }, + "alpha_pct": -14.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.1, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 56.44, + "trades": 20 + } + ], + "worst_ret": 7.1 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146335986, + "total_return_pct": 46.34, + "cagr_pct": 68.93, + "mdd_pct": 9.95, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.33 + } + }, + "alpha_pct": -48.76 + }, + "test": { + "final_equity": 138070131, + "total_return_pct": 38.07, + "cagr_pct": 179.83, + "mdd_pct": 6.96, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.24 + } + }, + "alpha_pct": -14.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.1, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 56.44, + "trades": 20 + } + ], + "worst_ret": 7.1 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 126529003, + "total_return_pct": 26.53, + "cagr_pct": 38.27, + "mdd_pct": 11.35, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 35.6, + "profit_factor": 2.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.14 + } + }, + "alpha_pct": -68.57 + }, + "test": { + "final_equity": 103990034, + "total_return_pct": 3.99, + "cagr_pct": 13.29, + "mdd_pct": 12.18, + "trades": 15, + "open_positions": 8, + "win_rate_pct": 20.0, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.16 + } + }, + "alpha_pct": -48.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.73, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.08, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.61, + "trades": 22 + } + ], + "worst_ret": 7.08 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 126529003, + "total_return_pct": 26.53, + "cagr_pct": 38.27, + "mdd_pct": 11.35, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 35.6, + "profit_factor": 2.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.14 + } + }, + "alpha_pct": -68.57 + }, + "test": { + "final_equity": 103990034, + "total_return_pct": 3.99, + "cagr_pct": 13.29, + "mdd_pct": 12.18, + "trades": 15, + "open_positions": 8, + "win_rate_pct": 20.0, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.16 + } + }, + "alpha_pct": -48.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.73, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.08, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.61, + "trades": 22 + } + ], + "worst_ret": 7.08 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146585783, + "total_return_pct": 46.59, + "cagr_pct": 69.32, + "mdd_pct": 12.5, + "trades": 40, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.08 + } + }, + "alpha_pct": -48.51 + }, + "test": { + "final_equity": 106355656, + "total_return_pct": 6.36, + "cagr_pct": 21.72, + "mdd_pct": 6.5, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 1.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.53 + } + }, + "alpha_pct": -46.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.05, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.17, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.19, + "trades": 23 + } + ], + "worst_ret": 7.05 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146585783, + "total_return_pct": 46.59, + "cagr_pct": 69.32, + "mdd_pct": 12.5, + "trades": 40, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.08 + } + }, + "alpha_pct": -48.51 + }, + "test": { + "final_equity": 106355656, + "total_return_pct": 6.36, + "cagr_pct": 21.72, + "mdd_pct": 6.5, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 1.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.53 + } + }, + "alpha_pct": -46.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.05, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.17, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.19, + "trades": 23 + } + ], + "worst_ret": 7.05 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138618231, + "total_return_pct": 38.62, + "cagr_pct": 56.78, + "mdd_pct": 10.58, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 26.1, + "profit_factor": 2.71, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.05 + } + }, + "alpha_pct": -56.48 + }, + "test": { + "final_equity": 103711559, + "total_return_pct": 3.71, + "cagr_pct": 12.33, + "mdd_pct": 8.18, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.88 + } + }, + "alpha_pct": -49.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.04, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.34, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.7, + "trades": 16 + } + ], + "worst_ret": 7.04 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138618231, + "total_return_pct": 38.62, + "cagr_pct": 56.78, + "mdd_pct": 10.58, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 26.1, + "profit_factor": 2.71, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.05 + } + }, + "alpha_pct": -56.48 + }, + "test": { + "final_equity": 103711559, + "total_return_pct": 3.71, + "cagr_pct": 12.33, + "mdd_pct": 8.18, + "trades": 11, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.88 + } + }, + "alpha_pct": -49.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.04, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.34, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.7, + "trades": 16 + } + ], + "worst_ret": 7.04 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149625481, + "total_return_pct": 49.63, + "cagr_pct": 74.18, + "mdd_pct": 9.95, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 4.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.96 + } + }, + "alpha_pct": -45.47 + }, + "test": { + "final_equity": 138070131, + "total_return_pct": 38.07, + "cagr_pct": 179.83, + "mdd_pct": 6.96, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.24 + } + }, + "alpha_pct": -14.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.02, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 56.44, + "trades": 20 + } + ], + "worst_ret": 7.02 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149625481, + "total_return_pct": 49.63, + "cagr_pct": 74.18, + "mdd_pct": 9.95, + "trades": 54, + "open_positions": 6, + "win_rate_pct": 44.4, + "profit_factor": 4.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.96 + } + }, + "alpha_pct": -45.47 + }, + "test": { + "final_equity": 138070131, + "total_return_pct": 38.07, + "cagr_pct": 179.83, + "mdd_pct": 6.96, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 35.3, + "profit_factor": 7.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.24 + } + }, + "alpha_pct": -14.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.02, + "trades": 22 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 56.44, + "trades": 20 + } + ], + "worst_ret": 7.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144750965, + "total_return_pct": 44.75, + "cagr_pct": 66.41, + "mdd_pct": 12.59, + "trades": 51, + "open_positions": 5, + "win_rate_pct": 43.1, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.92 + } + }, + "alpha_pct": -50.35 + }, + "test": { + "final_equity": 98934020, + "total_return_pct": -1.07, + "cagr_pct": -3.36, + "mdd_pct": 12.32, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.9 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.1 + } + }, + "alpha_pct": -53.9 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.83, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.24, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.02, + "trades": 28 + } + ], + "worst_ret": 7.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144750965, + "total_return_pct": 44.75, + "cagr_pct": 66.41, + "mdd_pct": 12.59, + "trades": 51, + "open_positions": 5, + "win_rate_pct": 43.1, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.92 + } + }, + "alpha_pct": -50.35 + }, + "test": { + "final_equity": 98934020, + "total_return_pct": -1.07, + "cagr_pct": -3.36, + "mdd_pct": 12.32, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.9 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.1 + } + }, + "alpha_pct": -53.9 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.83, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.24, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.02, + "trades": 28 + } + ], + "worst_ret": 7.02 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132651900, + "total_return_pct": 32.65, + "cagr_pct": 47.56, + "mdd_pct": 11.44, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 34.9, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.02 + } + }, + "alpha_pct": -62.45 + }, + "test": { + "final_equity": 99968932, + "total_return_pct": -0.03, + "cagr_pct": -0.1, + "mdd_pct": 12.54, + "trades": 22, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.14 + } + }, + "alpha_pct": -52.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.62, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.18, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.96, + "trades": 29 + } + ], + "worst_ret": 6.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132651900, + "total_return_pct": 32.65, + "cagr_pct": 47.56, + "mdd_pct": 11.44, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 34.9, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.02 + } + }, + "alpha_pct": -62.45 + }, + "test": { + "final_equity": 99968932, + "total_return_pct": -0.03, + "cagr_pct": -0.1, + "mdd_pct": 12.54, + "trades": 22, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.14 + } + }, + "alpha_pct": -52.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.62, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.18, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.96, + "trades": 29 + } + ], + "worst_ret": 6.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123551868, + "total_return_pct": 23.55, + "cagr_pct": 33.81, + "mdd_pct": 10.98, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 35.6, + "profit_factor": 2.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.12 + } + }, + "alpha_pct": -71.55 + }, + "test": { + "final_equity": 102459887, + "total_return_pct": 2.46, + "cagr_pct": 8.06, + "mdd_pct": 8.17, + "trades": 15, + "open_positions": 8, + "win_rate_pct": 20.0, + "profit_factor": 0.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.37 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.63 + } + }, + "alpha_pct": -50.37 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.43, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.03, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.92, + "trades": 22 + } + ], + "worst_ret": 6.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123551868, + "total_return_pct": 23.55, + "cagr_pct": 33.81, + "mdd_pct": 10.98, + "trades": 59, + "open_positions": 7, + "win_rate_pct": 35.6, + "profit_factor": 2.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.12 + } + }, + "alpha_pct": -71.55 + }, + "test": { + "final_equity": 102459887, + "total_return_pct": 2.46, + "cagr_pct": 8.06, + "mdd_pct": 8.17, + "trades": 15, + "open_positions": 8, + "win_rate_pct": 20.0, + "profit_factor": 0.64, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.37 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.63 + } + }, + "alpha_pct": -50.37 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.43, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.03, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.92, + "trades": 22 + } + ], + "worst_ret": 6.92 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143501846, + "total_return_pct": 43.5, + "cagr_pct": 64.44, + "mdd_pct": 13.59, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 2.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.17 + } + }, + "alpha_pct": -51.6 + }, + "test": { + "final_equity": 114701839, + "total_return_pct": 14.7, + "cagr_pct": 54.89, + "mdd_pct": 9.84, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 36.0, + "profit_factor": 2.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -38.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 28.87 + } + }, + "alpha_pct": -38.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.88, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.97, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.89, + "trades": 35 + } + ], + "worst_ret": 6.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143501846, + "total_return_pct": 43.5, + "cagr_pct": 64.44, + "mdd_pct": 13.59, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 2.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.17 + } + }, + "alpha_pct": -51.6 + }, + "test": { + "final_equity": 114701839, + "total_return_pct": 14.7, + "cagr_pct": 54.89, + "mdd_pct": 9.84, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 36.0, + "profit_factor": 2.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -38.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 28.87 + } + }, + "alpha_pct": -38.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.88, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.97, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.89, + "trades": 35 + } + ], + "worst_ret": 6.89 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138658080, + "total_return_pct": 38.66, + "cagr_pct": 56.84, + "mdd_pct": 10.16, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 40.4, + "profit_factor": 3.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.01 + } + }, + "alpha_pct": -56.44 + }, + "test": { + "final_equity": 124544349, + "total_return_pct": 24.54, + "cagr_pct": 101.41, + "mdd_pct": 4.77, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 43.8, + "profit_factor": 7.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.71 + } + }, + "alpha_pct": -28.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.6, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.88, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.24, + "trades": 21 + } + ], + "worst_ret": 6.88 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138658080, + "total_return_pct": 38.66, + "cagr_pct": 56.84, + "mdd_pct": 10.16, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 40.4, + "profit_factor": 3.55, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.01 + } + }, + "alpha_pct": -56.44 + }, + "test": { + "final_equity": 124544349, + "total_return_pct": 24.54, + "cagr_pct": 101.41, + "mdd_pct": 4.77, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 43.8, + "profit_factor": 7.25, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -28.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 38.71 + } + }, + "alpha_pct": -28.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.6, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.88, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.24, + "trades": 21 + } + ], + "worst_ret": 6.88 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145478124, + "total_return_pct": 45.48, + "cagr_pct": 67.56, + "mdd_pct": 12.32, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 31.1, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.19 + } + }, + "alpha_pct": -49.62 + }, + "test": { + "final_equity": 103701113, + "total_return_pct": 3.7, + "cagr_pct": 12.29, + "mdd_pct": 15.94, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.87 + } + }, + "alpha_pct": -49.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.87, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.14, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.84, + "trades": 38 + } + ], + "worst_ret": 6.84 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145478124, + "total_return_pct": 45.48, + "cagr_pct": 67.56, + "mdd_pct": 12.32, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 31.1, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.19 + } + }, + "alpha_pct": -49.62 + }, + "test": { + "final_equity": 103701113, + "total_return_pct": 3.7, + "cagr_pct": 12.29, + "mdd_pct": 15.94, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.87 + } + }, + "alpha_pct": -49.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.87, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.14, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.84, + "trades": 38 + } + ], + "worst_ret": 6.84 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142763123, + "total_return_pct": 42.76, + "cagr_pct": 63.27, + "mdd_pct": 10.13, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 39.7, + "profit_factor": 3.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.91 + } + }, + "alpha_pct": -52.34 + }, + "test": { + "final_equity": 133087854, + "total_return_pct": 33.09, + "cagr_pct": 148.88, + "mdd_pct": 6.03, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.26 + } + }, + "alpha_pct": -19.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.83, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.5, + "trades": 21 + } + ], + "worst_ret": 6.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142763123, + "total_return_pct": 42.76, + "cagr_pct": 63.27, + "mdd_pct": 10.13, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 39.7, + "profit_factor": 3.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.91 + } + }, + "alpha_pct": -52.34 + }, + "test": { + "final_equity": 133087854, + "total_return_pct": 33.09, + "cagr_pct": 148.88, + "mdd_pct": 6.03, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.26 + } + }, + "alpha_pct": -19.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.83, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.5, + "trades": 21 + } + ], + "worst_ret": 6.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143119086, + "total_return_pct": 43.12, + "cagr_pct": 63.83, + "mdd_pct": 10.13, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 39.7, + "profit_factor": 3.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.55 + } + }, + "alpha_pct": -51.98 + }, + "test": { + "final_equity": 138369919, + "total_return_pct": 38.37, + "cagr_pct": 181.78, + "mdd_pct": 6.94, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.54 + } + }, + "alpha_pct": -14.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.8, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.48, + "trades": 21 + } + ], + "worst_ret": 6.8 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143119086, + "total_return_pct": 43.12, + "cagr_pct": 63.83, + "mdd_pct": 10.13, + "trades": 58, + "open_positions": 6, + "win_rate_pct": 39.7, + "profit_factor": 3.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.55 + } + }, + "alpha_pct": -51.98 + }, + "test": { + "final_equity": 138369919, + "total_return_pct": 38.37, + "cagr_pct": 181.78, + "mdd_pct": 6.94, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.54 + } + }, + "alpha_pct": -14.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.8, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.48, + "trades": 21 + } + ], + "worst_ret": 6.8 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150602550, + "total_return_pct": 50.6, + "cagr_pct": 75.75, + "mdd_pct": 12.76, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.93 + } + }, + "alpha_pct": -44.5 + }, + "test": { + "final_equity": 105566009, + "total_return_pct": 5.57, + "cagr_pct": 18.86, + "mdd_pct": 10.45, + "trades": 30, + "open_positions": 5, + "win_rate_pct": 23.3, + "profit_factor": 1.4, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.74 + } + }, + "alpha_pct": -47.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.6, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.76, + "trades": 40 + } + ], + "worst_ret": 6.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 150602550, + "total_return_pct": 50.6, + "cagr_pct": 75.75, + "mdd_pct": 12.76, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 34.3, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -44.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.93 + } + }, + "alpha_pct": -44.5 + }, + "test": { + "final_equity": 105566009, + "total_return_pct": 5.57, + "cagr_pct": 18.86, + "mdd_pct": 10.45, + "trades": 30, + "open_positions": 5, + "win_rate_pct": 23.3, + "profit_factor": 1.4, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.74 + } + }, + "alpha_pct": -47.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.49, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.6, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.76, + "trades": 40 + } + ], + "worst_ret": 6.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138943014, + "total_return_pct": 38.94, + "cagr_pct": 57.29, + "mdd_pct": 12.51, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 37.8, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.73 + } + }, + "alpha_pct": -56.16 + }, + "test": { + "final_equity": 104065758, + "total_return_pct": 4.07, + "cagr_pct": 13.56, + "mdd_pct": 7.33, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.34, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.24 + } + }, + "alpha_pct": -48.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.64, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.69, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.98, + "trades": 24 + } + ], + "worst_ret": 6.69 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138943014, + "total_return_pct": 38.94, + "cagr_pct": 57.29, + "mdd_pct": 12.51, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 37.8, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.73 + } + }, + "alpha_pct": -56.16 + }, + "test": { + "final_equity": 104065758, + "total_return_pct": 4.07, + "cagr_pct": 13.56, + "mdd_pct": 7.33, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.34, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.24 + } + }, + "alpha_pct": -48.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.64, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.69, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 12.98, + "trades": 24 + } + ], + "worst_ret": 6.69 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 128175031, + "total_return_pct": 28.18, + "cagr_pct": 40.75, + "mdd_pct": 13.14, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 21.4, + "profit_factor": 2.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.49 + } + }, + "alpha_pct": -66.92 + }, + "test": { + "final_equity": 101104896, + "total_return_pct": 1.1, + "cagr_pct": 3.57, + "mdd_pct": 8.48, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 18.8, + "profit_factor": 0.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.27 + } + }, + "alpha_pct": -51.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.59, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.11, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.67, + "trades": 19 + } + ], + "worst_ret": 6.59 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 128175031, + "total_return_pct": 28.18, + "cagr_pct": 40.75, + "mdd_pct": 13.14, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 21.4, + "profit_factor": 2.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.49 + } + }, + "alpha_pct": -66.92 + }, + "test": { + "final_equity": 101104896, + "total_return_pct": 1.1, + "cagr_pct": 3.57, + "mdd_pct": 8.48, + "trades": 16, + "open_positions": 7, + "win_rate_pct": 18.8, + "profit_factor": 0.88, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.27 + } + }, + "alpha_pct": -51.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.59, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.11, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.67, + "trades": 19 + } + ], + "worst_ret": 6.59 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146496118, + "total_return_pct": 46.5, + "cagr_pct": 69.18, + "mdd_pct": 12.53, + "trades": 42, + "open_positions": 5, + "win_rate_pct": 38.1, + "profit_factor": 4.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.17 + } + }, + "alpha_pct": -48.6 + }, + "test": { + "final_equity": 104910066, + "total_return_pct": 4.91, + "cagr_pct": 16.52, + "mdd_pct": 5.26, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.57, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.08 + } + }, + "alpha_pct": -47.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.56, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.57, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.6, + "trades": 25 + } + ], + "worst_ret": 6.56 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146496118, + "total_return_pct": 46.5, + "cagr_pct": 69.18, + "mdd_pct": 12.53, + "trades": 42, + "open_positions": 5, + "win_rate_pct": 38.1, + "profit_factor": 4.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.17 + } + }, + "alpha_pct": -48.6 + }, + "test": { + "final_equity": 104910066, + "total_return_pct": 4.91, + "cagr_pct": 16.52, + "mdd_pct": 5.26, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.57, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.08 + } + }, + "alpha_pct": -47.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.56, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.57, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.6, + "trades": 25 + } + ], + "worst_ret": 6.56 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141301241, + "total_return_pct": 41.3, + "cagr_pct": 60.97, + "mdd_pct": 9.49, + "trades": 59, + "open_positions": 6, + "win_rate_pct": 40.7, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.37 + } + }, + "alpha_pct": -53.8 + }, + "test": { + "final_equity": 135401058, + "total_return_pct": 35.4, + "cagr_pct": 162.94, + "mdd_pct": 7.02, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 6.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.43 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.57 + } + }, + "alpha_pct": -17.43 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.34, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.54, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.99, + "trades": 21 + } + ], + "worst_ret": 6.54 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141301241, + "total_return_pct": 41.3, + "cagr_pct": 60.97, + "mdd_pct": 9.49, + "trades": 59, + "open_positions": 6, + "win_rate_pct": 40.7, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.8 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.37 + } + }, + "alpha_pct": -53.8 + }, + "test": { + "final_equity": 135401058, + "total_return_pct": 35.4, + "cagr_pct": 162.94, + "mdd_pct": 7.02, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 6.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.43 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.57 + } + }, + "alpha_pct": -17.43 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.34, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.54, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.99, + "trades": 21 + } + ], + "worst_ret": 6.54 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143568084, + "total_return_pct": 43.57, + "cagr_pct": 64.54, + "mdd_pct": 10.47, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 36.8, + "profit_factor": 3.12, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.1 + } + }, + "alpha_pct": -51.53 + }, + "test": { + "final_equity": 107521799, + "total_return_pct": 7.52, + "cagr_pct": 26.03, + "mdd_pct": 7.82, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 1.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.31 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.69 + } + }, + "alpha_pct": -45.31 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.85, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.93, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.53, + "trades": 34 + } + ], + "worst_ret": 6.53 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143568084, + "total_return_pct": 43.57, + "cagr_pct": 64.54, + "mdd_pct": 10.47, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 36.8, + "profit_factor": 3.12, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.1 + } + }, + "alpha_pct": -51.53 + }, + "test": { + "final_equity": 107521799, + "total_return_pct": 7.52, + "cagr_pct": 26.03, + "mdd_pct": 7.82, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 32.0, + "profit_factor": 1.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.31 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.69 + } + }, + "alpha_pct": -45.31 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.85, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.93, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.53, + "trades": 34 + } + ], + "worst_ret": 6.53 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134965108, + "total_return_pct": 34.97, + "cagr_pct": 51.12, + "mdd_pct": 11.83, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 37.8, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.7 + } + }, + "alpha_pct": -60.13 + }, + "test": { + "final_equity": 101814878, + "total_return_pct": 1.81, + "cagr_pct": 5.91, + "mdd_pct": 5.24, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.98 + } + }, + "alpha_pct": -51.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.47, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.5, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.52, + "trades": 24 + } + ], + "worst_ret": 6.52 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134965108, + "total_return_pct": 34.97, + "cagr_pct": 51.12, + "mdd_pct": 11.83, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 37.8, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.7 + } + }, + "alpha_pct": -60.13 + }, + "test": { + "final_equity": 101814878, + "total_return_pct": 1.81, + "cagr_pct": 5.91, + "mdd_pct": 5.24, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.98 + } + }, + "alpha_pct": -51.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.47, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.5, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.52, + "trades": 24 + } + ], + "worst_ret": 6.52 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140763717, + "total_return_pct": 40.76, + "cagr_pct": 60.13, + "mdd_pct": 9.49, + "trades": 59, + "open_positions": 6, + "win_rate_pct": 40.7, + "profit_factor": 3.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.91 + } + }, + "alpha_pct": -54.34 + }, + "test": { + "final_equity": 130575508, + "total_return_pct": 30.58, + "cagr_pct": 134.2, + "mdd_pct": 6.08, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.25 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.75 + } + }, + "alpha_pct": -22.25 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.34, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.32, + "trades": 21 + } + ], + "worst_ret": 6.49 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140763717, + "total_return_pct": 40.76, + "cagr_pct": 60.13, + "mdd_pct": 9.49, + "trades": 59, + "open_positions": 6, + "win_rate_pct": 40.7, + "profit_factor": 3.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.91 + } + }, + "alpha_pct": -54.34 + }, + "test": { + "final_equity": 130575508, + "total_return_pct": 30.58, + "cagr_pct": 134.2, + "mdd_pct": 6.08, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.25 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.75 + } + }, + "alpha_pct": -22.25 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.34, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.49, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.32, + "trades": 21 + } + ], + "worst_ret": 6.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137155853, + "total_return_pct": 37.16, + "cagr_pct": 54.51, + "mdd_pct": 12.49, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 35.6, + "profit_factor": 2.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.51 + } + }, + "alpha_pct": -57.94 + }, + "test": { + "final_equity": 104890001, + "total_return_pct": 4.89, + "cagr_pct": 16.45, + "mdd_pct": 6.66, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.49, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.06 + } + }, + "alpha_pct": -47.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.46, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.18, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.51, + "trades": 24 + } + ], + "worst_ret": 6.46 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137155853, + "total_return_pct": 37.16, + "cagr_pct": 54.51, + "mdd_pct": 12.49, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 35.6, + "profit_factor": 2.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.51 + } + }, + "alpha_pct": -57.94 + }, + "test": { + "final_equity": 104890001, + "total_return_pct": 4.89, + "cagr_pct": 16.45, + "mdd_pct": 6.66, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.49, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.06 + } + }, + "alpha_pct": -47.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.46, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.18, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.51, + "trades": 24 + } + ], + "worst_ret": 6.46 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146588684, + "total_return_pct": 46.59, + "cagr_pct": 69.33, + "mdd_pct": 12.45, + "trades": 42, + "open_positions": 5, + "win_rate_pct": 38.1, + "profit_factor": 4.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.08 + } + }, + "alpha_pct": -48.51 + }, + "test": { + "final_equity": 104495378, + "total_return_pct": 4.5, + "cagr_pct": 15.06, + "mdd_pct": 7.1, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.33 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.67 + } + }, + "alpha_pct": -48.33 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.78, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.4, + "trades": 25 + } + ], + "worst_ret": 6.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146588684, + "total_return_pct": 46.59, + "cagr_pct": 69.33, + "mdd_pct": 12.45, + "trades": 42, + "open_positions": 5, + "win_rate_pct": 38.1, + "profit_factor": 4.28, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.08 + } + }, + "alpha_pct": -48.51 + }, + "test": { + "final_equity": 104495378, + "total_return_pct": 4.5, + "cagr_pct": 15.06, + "mdd_pct": 7.1, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.33 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.67 + } + }, + "alpha_pct": -48.33 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.78, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 17.4, + "trades": 25 + } + ], + "worst_ret": 6.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132564781, + "total_return_pct": 32.56, + "cagr_pct": 47.43, + "mdd_pct": 10.9, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.17, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.11 + } + }, + "alpha_pct": -62.54 + }, + "test": { + "final_equity": 104441417, + "total_return_pct": 4.44, + "cagr_pct": 14.87, + "mdd_pct": 7.1, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.61 + } + }, + "alpha_pct": -48.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.42, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.68, + "trades": 26 + } + ], + "worst_ret": 6.42 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132564781, + "total_return_pct": 32.56, + "cagr_pct": 47.43, + "mdd_pct": 10.9, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.17, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.11 + } + }, + "alpha_pct": -62.54 + }, + "test": { + "final_equity": 104441417, + "total_return_pct": 4.44, + "cagr_pct": 14.87, + "mdd_pct": 7.1, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.61 + } + }, + "alpha_pct": -48.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.42, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.68, + "trades": 26 + } + ], + "worst_ret": 6.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145896570, + "total_return_pct": 45.9, + "cagr_pct": 68.23, + "mdd_pct": 10.13, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.77 + } + }, + "alpha_pct": -49.2 + }, + "test": { + "final_equity": 133087854, + "total_return_pct": 33.09, + "cagr_pct": 148.88, + "mdd_pct": 6.03, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.26 + } + }, + "alpha_pct": -19.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.35, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.5, + "trades": 21 + } + ], + "worst_ret": 6.35 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145896570, + "total_return_pct": 45.9, + "cagr_pct": 68.23, + "mdd_pct": 10.13, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.77 + } + }, + "alpha_pct": -49.2 + }, + "test": { + "final_equity": 133087854, + "total_return_pct": 33.09, + "cagr_pct": 148.88, + "mdd_pct": 6.03, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -19.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 47.26 + } + }, + "alpha_pct": -19.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.35, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.5, + "trades": 21 + } + ], + "worst_ret": 6.35 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146320203, + "total_return_pct": 46.32, + "cagr_pct": 68.9, + "mdd_pct": 10.14, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.35 + } + }, + "alpha_pct": -48.78 + }, + "test": { + "final_equity": 138369919, + "total_return_pct": 38.37, + "cagr_pct": 181.78, + "mdd_pct": 6.94, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.54 + } + }, + "alpha_pct": -14.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.31, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.48, + "trades": 21 + } + ], + "worst_ret": 6.31 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146320203, + "total_return_pct": 46.32, + "cagr_pct": 68.9, + "mdd_pct": 10.14, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.74, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.35 + } + }, + "alpha_pct": -48.78 + }, + "test": { + "final_equity": 138369919, + "total_return_pct": 38.37, + "cagr_pct": 181.78, + "mdd_pct": 6.94, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.44, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -14.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 52.54 + } + }, + "alpha_pct": -14.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.97, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.31, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.48, + "trades": 21 + } + ], + "worst_ret": 6.31 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 128172983, + "total_return_pct": 28.17, + "cagr_pct": 40.75, + "mdd_pct": 14.62, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 1.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.5 + } + }, + "alpha_pct": -66.93 + }, + "test": { + "final_equity": 139321173, + "total_return_pct": 39.32, + "cagr_pct": 188.0, + "mdd_pct": 9.04, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 4.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.49 + } + }, + "alpha_pct": -13.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.37, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.78, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 128172983, + "total_return_pct": 28.17, + "cagr_pct": 40.75, + "mdd_pct": 14.62, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 1.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.5 + } + }, + "alpha_pct": -66.93 + }, + "test": { + "final_equity": 139321173, + "total_return_pct": 39.32, + "cagr_pct": 188.0, + "mdd_pct": 9.04, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 4.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.49 + } + }, + "alpha_pct": -13.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.37, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.78, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131153043, + "total_return_pct": 31.15, + "cagr_pct": 45.27, + "mdd_pct": 14.62, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.52 + } + }, + "alpha_pct": -63.95 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.72, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.78, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131153043, + "total_return_pct": 31.15, + "cagr_pct": 45.27, + "mdd_pct": 14.62, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.09, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.52 + } + }, + "alpha_pct": -63.95 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.72, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.78, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 140740965, + "total_return_pct": 40.74, + "cagr_pct": 60.1, + "mdd_pct": 12.95, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 2.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.93 + } + }, + "alpha_pct": -54.36 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.38, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.17, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 140740965, + "total_return_pct": 40.74, + "cagr_pct": 60.1, + "mdd_pct": 12.95, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 2.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.93 + } + }, + "alpha_pct": -54.36 + }, + "test": { + "final_equity": 136963267, + "total_return_pct": 36.96, + "cagr_pct": 172.74, + "mdd_pct": 8.63, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 4.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -15.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 51.13 + } + }, + "alpha_pct": -15.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.38, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 33.17, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130270574, + "total_return_pct": 30.27, + "cagr_pct": 43.93, + "mdd_pct": 13.3, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.4 + } + }, + "alpha_pct": -64.83 + }, + "test": { + "final_equity": 134614491, + "total_return_pct": 34.61, + "cagr_pct": 158.1, + "mdd_pct": 7.23, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 5.11, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.78 + } + }, + "alpha_pct": -18.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.7, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.31, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130270574, + "total_return_pct": 30.27, + "cagr_pct": 43.93, + "mdd_pct": 13.3, + "trades": 78, + "open_positions": 8, + "win_rate_pct": 32.1, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.4 + } + }, + "alpha_pct": -64.83 + }, + "test": { + "final_equity": 134614491, + "total_return_pct": 34.61, + "cagr_pct": 158.1, + "mdd_pct": 7.23, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 5.11, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -18.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 48.78 + } + }, + "alpha_pct": -18.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.7, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.31, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133395545, + "total_return_pct": 33.4, + "cagr_pct": 48.71, + "mdd_pct": 13.3, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.27 + } + }, + "alpha_pct": -61.7 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.13, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.31, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133395545, + "total_return_pct": 33.4, + "cagr_pct": 48.71, + "mdd_pct": 13.3, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.27 + } + }, + "alpha_pct": -61.7 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.13, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 28.31, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141804038, + "total_return_pct": 41.8, + "cagr_pct": 61.76, + "mdd_pct": 11.66, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.3 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.87 + } + }, + "alpha_pct": -53.3 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.65, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.99, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141804038, + "total_return_pct": 41.8, + "cagr_pct": 61.76, + "mdd_pct": 11.66, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.3 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.87 + } + }, + "alpha_pct": -53.3 + }, + "test": { + "final_equity": 132426136, + "total_return_pct": 32.43, + "cagr_pct": 144.95, + "mdd_pct": 7.16, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 33.3, + "profit_factor": 5.15, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -20.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 46.6 + } + }, + "alpha_pct": -20.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.29, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.65, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 26.99, + "trades": 23 + } + ], + "worst_ret": 6.29 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132759469, + "total_return_pct": 32.76, + "cagr_pct": 47.73, + "mdd_pct": 12.76, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 2.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.91 + } + }, + "alpha_pct": -62.34 + }, + "test": { + "final_equity": 111012908, + "total_return_pct": 11.01, + "cagr_pct": 39.55, + "mdd_pct": 9.36, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.18 + } + }, + "alpha_pct": -41.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.06, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.93, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.28, + "trades": 21 + } + ], + "worst_ret": 6.28 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132759469, + "total_return_pct": 32.76, + "cagr_pct": 47.73, + "mdd_pct": 12.76, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 2.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.91 + } + }, + "alpha_pct": -62.34 + }, + "test": { + "final_equity": 111012908, + "total_return_pct": 11.01, + "cagr_pct": 39.55, + "mdd_pct": 9.36, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.48, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.18 + } + }, + "alpha_pct": -41.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.06, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.93, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.28, + "trades": 21 + } + ], + "worst_ret": 6.28 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142282984, + "total_return_pct": 42.28, + "cagr_pct": 62.52, + "mdd_pct": 10.17, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 40.4, + "profit_factor": 3.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.39 + } + }, + "alpha_pct": -52.82 + }, + "test": { + "final_equity": 139566459, + "total_return_pct": 39.57, + "cagr_pct": 189.62, + "mdd_pct": 6.71, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 43.8, + "profit_factor": 8.7, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.74 + } + }, + "alpha_pct": -13.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.32, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.25, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.17, + "trades": 21 + } + ], + "worst_ret": 6.25 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142282984, + "total_return_pct": 42.28, + "cagr_pct": 62.52, + "mdd_pct": 10.17, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 40.4, + "profit_factor": 3.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.39 + } + }, + "alpha_pct": -52.82 + }, + "test": { + "final_equity": 139566459, + "total_return_pct": 39.57, + "cagr_pct": 189.62, + "mdd_pct": 6.71, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 43.8, + "profit_factor": 8.7, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -13.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 53.74 + } + }, + "alpha_pct": -13.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.32, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.25, + "trades": 23 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.17, + "trades": 21 + } + ], + "worst_ret": 6.25 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130726312, + "total_return_pct": 30.73, + "cagr_pct": 44.62, + "mdd_pct": 11.3, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 35.2, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.94 + } + }, + "alpha_pct": -64.37 + }, + "test": { + "final_equity": 98170163, + "total_return_pct": -1.83, + "cagr_pct": -5.72, + "mdd_pct": 11.15, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.34 + } + }, + "alpha_pct": -54.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.65, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.4, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.24, + "trades": 23 + } + ], + "worst_ret": 6.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130726312, + "total_return_pct": 30.73, + "cagr_pct": 44.62, + "mdd_pct": 11.3, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 35.2, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.94 + } + }, + "alpha_pct": -64.37 + }, + "test": { + "final_equity": 98170163, + "total_return_pct": -1.83, + "cagr_pct": -5.72, + "mdd_pct": 11.15, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.34 + } + }, + "alpha_pct": -54.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.65, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.4, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.24, + "trades": 23 + } + ], + "worst_ret": 6.24 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127999568, + "total_return_pct": 28.0, + "cagr_pct": 40.49, + "mdd_pct": 11.27, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.1 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.67 + } + }, + "alpha_pct": -67.1 + }, + "test": { + "final_equity": 97854990, + "total_return_pct": -2.15, + "cagr_pct": -6.68, + "mdd_pct": 11.16, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.02 + } + }, + "alpha_pct": -54.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.41, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.22, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.19, + "trades": 23 + } + ], + "worst_ret": 6.19 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127999568, + "total_return_pct": 28.0, + "cagr_pct": 40.49, + "mdd_pct": 11.27, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.1 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.67 + } + }, + "alpha_pct": -67.1 + }, + "test": { + "final_equity": 97854990, + "total_return_pct": -2.15, + "cagr_pct": -6.68, + "mdd_pct": 11.16, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.02 + } + }, + "alpha_pct": -54.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.41, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.22, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.19, + "trades": 23 + } + ], + "worst_ret": 6.19 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142784935, + "total_return_pct": 42.78, + "cagr_pct": 63.31, + "mdd_pct": 14.02, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.89 + } + }, + "alpha_pct": -52.32 + }, + "test": { + "final_equity": 103903479, + "total_return_pct": 3.9, + "cagr_pct": 12.99, + "mdd_pct": 7.29, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 27.8, + "profit_factor": 1.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.7, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.82, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.17, + "trades": 20 + } + ], + "worst_ret": 6.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142784935, + "total_return_pct": 42.78, + "cagr_pct": 63.31, + "mdd_pct": 14.02, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.89 + } + }, + "alpha_pct": -52.32 + }, + "test": { + "final_equity": 103903479, + "total_return_pct": 3.9, + "cagr_pct": 12.99, + "mdd_pct": 7.29, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 27.8, + "profit_factor": 1.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.7, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.82, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.17, + "trades": 20 + } + ], + "worst_ret": 6.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143220316, + "total_return_pct": 43.22, + "cagr_pct": 63.99, + "mdd_pct": 13.8, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.45 + } + }, + "alpha_pct": -51.88 + }, + "test": { + "final_equity": 103658454, + "total_return_pct": 3.66, + "cagr_pct": 12.14, + "mdd_pct": 8.38, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.83 + } + }, + "alpha_pct": -49.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.7, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.98, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.17, + "trades": 20 + } + ], + "worst_ret": 6.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143220316, + "total_return_pct": 43.22, + "cagr_pct": 63.99, + "mdd_pct": 13.8, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.37, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.45 + } + }, + "alpha_pct": -51.88 + }, + "test": { + "final_equity": 103658454, + "total_return_pct": 3.66, + "cagr_pct": 12.14, + "mdd_pct": 8.38, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.83 + } + }, + "alpha_pct": -49.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.7, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.98, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.17, + "trades": 20 + } + ], + "worst_ret": 6.17 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123884967, + "total_return_pct": 23.88, + "cagr_pct": 34.3, + "mdd_pct": 13.38, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 26.9, + "profit_factor": 1.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -23.79 + } + }, + "alpha_pct": -71.22 + }, + "test": { + "final_equity": 100977661, + "total_return_pct": 0.98, + "cagr_pct": 3.15, + "mdd_pct": 6.54, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.85 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.15 + } + }, + "alpha_pct": -51.85 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.12, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.73, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.3, + "trades": 20 + } + ], + "worst_ret": 6.12 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123884967, + "total_return_pct": 23.88, + "cagr_pct": 34.3, + "mdd_pct": 13.38, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 26.9, + "profit_factor": 1.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -23.79 + } + }, + "alpha_pct": -71.22 + }, + "test": { + "final_equity": 100977661, + "total_return_pct": 0.98, + "cagr_pct": 3.15, + "mdd_pct": 6.54, + "trades": 18, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 1.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.85 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.15 + } + }, + "alpha_pct": -51.85 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.12, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.73, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.3, + "trades": 20 + } + ], + "worst_ret": 6.12 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144401465, + "total_return_pct": 44.4, + "cagr_pct": 65.86, + "mdd_pct": 9.49, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 43.9, + "profit_factor": 3.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.27 + } + }, + "alpha_pct": -50.7 + }, + "test": { + "final_equity": 135401058, + "total_return_pct": 35.4, + "cagr_pct": 162.94, + "mdd_pct": 7.02, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 6.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.43 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.57 + } + }, + "alpha_pct": -17.43 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.79, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.09, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.99, + "trades": 21 + } + ], + "worst_ret": 6.09 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144401465, + "total_return_pct": 44.4, + "cagr_pct": 65.86, + "mdd_pct": 9.49, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 43.9, + "profit_factor": 3.57, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.27 + } + }, + "alpha_pct": -50.7 + }, + "test": { + "final_equity": 135401058, + "total_return_pct": 35.4, + "cagr_pct": 162.94, + "mdd_pct": 7.02, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 6.95, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -17.43 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 49.57 + } + }, + "alpha_pct": -17.43 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.79, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.09, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 37.99, + "trades": 21 + } + ], + "worst_ret": 6.09 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141284917, + "total_return_pct": 41.28, + "cagr_pct": 60.95, + "mdd_pct": 12.24, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.39 + } + }, + "alpha_pct": -53.82 + }, + "test": { + "final_equity": 104877774, + "total_return_pct": 4.88, + "cagr_pct": 16.41, + "mdd_pct": 13.89, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.05 + } + }, + "alpha_pct": -47.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.3, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.95, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.09, + "trades": 37 + } + ], + "worst_ret": 6.09 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141284917, + "total_return_pct": 41.28, + "cagr_pct": 60.95, + "mdd_pct": 12.24, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.39 + } + }, + "alpha_pct": -53.82 + }, + "test": { + "final_equity": 104877774, + "total_return_pct": 4.88, + "cagr_pct": 16.41, + "mdd_pct": 13.89, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.05 + } + }, + "alpha_pct": -47.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.3, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.95, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.09, + "trades": 37 + } + ], + "worst_ret": 6.09 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143852090, + "total_return_pct": 43.85, + "cagr_pct": 64.99, + "mdd_pct": 9.49, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 43.9, + "profit_factor": 3.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.82 + } + }, + "alpha_pct": -51.25 + }, + "test": { + "final_equity": 130575508, + "total_return_pct": 30.58, + "cagr_pct": 134.2, + "mdd_pct": 6.08, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.25 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.75 + } + }, + "alpha_pct": -22.25 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.79, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.04, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.32, + "trades": 21 + } + ], + "worst_ret": 6.04 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143852090, + "total_return_pct": 43.85, + "cagr_pct": 64.99, + "mdd_pct": 9.49, + "trades": 57, + "open_positions": 6, + "win_rate_pct": 43.9, + "profit_factor": 3.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.82 + } + }, + "alpha_pct": -51.25 + }, + "test": { + "final_equity": 130575508, + "total_return_pct": 30.58, + "cagr_pct": 134.2, + "mdd_pct": 6.08, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 41.2, + "profit_factor": 7.39, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -22.25 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 44.75 + } + }, + "alpha_pct": -22.25 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.79, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.04, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 31.32, + "trades": 21 + } + ], + "worst_ret": 6.04 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143560060, + "total_return_pct": 43.56, + "cagr_pct": 64.53, + "mdd_pct": 11.82, + "trades": 40, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 4.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.11 + } + }, + "alpha_pct": -51.54 + }, + "test": { + "final_equity": 103602399, + "total_return_pct": 3.6, + "cagr_pct": 11.95, + "mdd_pct": 4.48, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.77 + } + }, + "alpha_pct": -49.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.02, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.13, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.03, + "trades": 23 + } + ], + "worst_ret": 6.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143560060, + "total_return_pct": 43.56, + "cagr_pct": 64.53, + "mdd_pct": 11.82, + "trades": 40, + "open_positions": 5, + "win_rate_pct": 37.5, + "profit_factor": 4.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.54 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.11 + } + }, + "alpha_pct": -51.54 + }, + "test": { + "final_equity": 103602399, + "total_return_pct": 3.6, + "cagr_pct": 11.95, + "mdd_pct": 4.48, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.77 + } + }, + "alpha_pct": -49.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.02, + "trades": 15 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.13, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.03, + "trades": 23 + } + ], + "worst_ret": 6.02 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136538726, + "total_return_pct": 36.54, + "cagr_pct": 53.55, + "mdd_pct": 11.08, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 35.1, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.13 + } + }, + "alpha_pct": -58.56 + }, + "test": { + "final_equity": 99437585, + "total_return_pct": -0.56, + "cagr_pct": -1.78, + "mdd_pct": 9.31, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.61 + } + }, + "alpha_pct": -53.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.3, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.01, + "trades": 26 + } + ], + "worst_ret": 6.01 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136538726, + "total_return_pct": 36.54, + "cagr_pct": 53.55, + "mdd_pct": 11.08, + "trades": 77, + "open_positions": 8, + "win_rate_pct": 35.1, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.56 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.13 + } + }, + "alpha_pct": -58.56 + }, + "test": { + "final_equity": 99437585, + "total_return_pct": -0.56, + "cagr_pct": -1.78, + "mdd_pct": 9.31, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.61 + } + }, + "alpha_pct": -53.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 22.3, + "trades": 19 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.01, + "trades": 26 + } + ], + "worst_ret": 6.01 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153882962, + "total_return_pct": 53.88, + "cagr_pct": 81.04, + "mdd_pct": 12.61, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.21 + } + }, + "alpha_pct": -41.22 + }, + "test": { + "final_equity": 99103180, + "total_return_pct": -0.9, + "cagr_pct": -2.83, + "mdd_pct": 11.14, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 21.1, + "profit_factor": 0.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.27 + } + }, + "alpha_pct": -53.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.09, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.7, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.95, + "trades": 29 + } + ], + "worst_ret": 5.95 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 153882962, + "total_return_pct": 53.88, + "cagr_pct": 81.04, + "mdd_pct": 12.61, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -41.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 6.21 + } + }, + "alpha_pct": -41.22 + }, + "test": { + "final_equity": 99103180, + "total_return_pct": -0.9, + "cagr_pct": -2.83, + "mdd_pct": 11.14, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 21.1, + "profit_factor": 0.85, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.73 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.27 + } + }, + "alpha_pct": -53.73 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.09, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.7, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.95, + "trades": 29 + } + ], + "worst_ret": 5.95 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 135867741, + "total_return_pct": 35.87, + "cagr_pct": 52.51, + "mdd_pct": 13.14, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.8 + } + }, + "alpha_pct": -59.23 + }, + "test": { + "final_equity": 105203585, + "total_return_pct": 5.2, + "cagr_pct": 17.56, + "mdd_pct": 6.1, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 1.38, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.37 + } + }, + "alpha_pct": -47.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.33, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.12, + "trades": 21 + } + ], + "worst_ret": 5.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 135867741, + "total_return_pct": 35.87, + "cagr_pct": 52.51, + "mdd_pct": 13.14, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 36.2, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.8 + } + }, + "alpha_pct": -59.23 + }, + "test": { + "final_equity": 105203585, + "total_return_pct": 5.2, + "cagr_pct": 17.56, + "mdd_pct": 6.1, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 28.0, + "profit_factor": 1.38, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.37 + } + }, + "alpha_pct": -47.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.33, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.12, + "trades": 21 + } + ], + "worst_ret": 5.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133029620, + "total_return_pct": 33.03, + "cagr_pct": 48.14, + "mdd_pct": 13.44, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.64 + } + }, + "alpha_pct": -62.07 + }, + "test": { + "final_equity": 103687736, + "total_return_pct": 3.69, + "cagr_pct": 12.25, + "mdd_pct": 6.96, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 23.8, + "profit_factor": 1.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.14 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.86 + } + }, + "alpha_pct": -49.14 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.51, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.42, + "trades": 22 + } + ], + "worst_ret": 5.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133029620, + "total_return_pct": 33.03, + "cagr_pct": 48.14, + "mdd_pct": 13.44, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 31.4, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.64 + } + }, + "alpha_pct": -62.07 + }, + "test": { + "final_equity": 103687736, + "total_return_pct": 3.69, + "cagr_pct": 12.25, + "mdd_pct": 6.96, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 23.8, + "profit_factor": 1.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.14 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.86 + } + }, + "alpha_pct": -49.14 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.51, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.42, + "trades": 22 + } + ], + "worst_ret": 5.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132586324, + "total_return_pct": 32.59, + "cagr_pct": 47.46, + "mdd_pct": 13.91, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 25.0, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.08 + } + }, + "alpha_pct": -62.51 + }, + "test": { + "final_equity": 101507296, + "total_return_pct": 1.51, + "cagr_pct": 4.89, + "mdd_pct": 9.55, + "trades": 17, + "open_positions": 8, + "win_rate_pct": 11.8, + "profit_factor": 0.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.68 + } + }, + "alpha_pct": -51.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.95, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.34, + "trades": 18 + } + ], + "worst_ret": 5.9 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132586324, + "total_return_pct": 32.59, + "cagr_pct": 47.46, + "mdd_pct": 13.91, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 25.0, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.08 + } + }, + "alpha_pct": -62.51 + }, + "test": { + "final_equity": 101507296, + "total_return_pct": 1.51, + "cagr_pct": 4.89, + "mdd_pct": 9.55, + "trades": 17, + "open_positions": 8, + "win_rate_pct": 11.8, + "profit_factor": 0.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.68 + } + }, + "alpha_pct": -51.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.9, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.95, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.34, + "trades": 18 + } + ], + "worst_ret": 5.9 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137243581, + "total_return_pct": 37.24, + "cagr_pct": 54.64, + "mdd_pct": 10.9, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 3.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.43 + } + }, + "alpha_pct": -57.86 + }, + "test": { + "final_equity": 104358014, + "total_return_pct": 4.36, + "cagr_pct": 14.58, + "mdd_pct": 7.1, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.53 + } + }, + "alpha_pct": -48.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.89, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.59, + "trades": 26 + } + ], + "worst_ret": 5.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137243581, + "total_return_pct": 37.24, + "cagr_pct": 54.64, + "mdd_pct": 10.9, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 3.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.43 + } + }, + "alpha_pct": -57.86 + }, + "test": { + "final_equity": 104358014, + "total_return_pct": 4.36, + "cagr_pct": 14.58, + "mdd_pct": 7.1, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.53 + } + }, + "alpha_pct": -48.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.89, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.59, + "trades": 26 + } + ], + "worst_ret": 5.89 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136814906, + "total_return_pct": 36.81, + "cagr_pct": 53.98, + "mdd_pct": 13.83, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 36.2, + "profit_factor": 3.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.86 + } + }, + "alpha_pct": -58.29 + }, + "test": { + "final_equity": 105010659, + "total_return_pct": 5.01, + "cagr_pct": 16.88, + "mdd_pct": 7.07, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.18 + } + }, + "alpha_pct": -47.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.23, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.81, + "trades": 26 + } + ], + "worst_ret": 5.81 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136814906, + "total_return_pct": 36.81, + "cagr_pct": 53.98, + "mdd_pct": 13.83, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 36.2, + "profit_factor": 3.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.86 + } + }, + "alpha_pct": -58.29 + }, + "test": { + "final_equity": 105010659, + "total_return_pct": 5.01, + "cagr_pct": 16.88, + "mdd_pct": 7.07, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.18 + } + }, + "alpha_pct": -47.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.23, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.81, + "trades": 26 + } + ], + "worst_ret": 5.81 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141452767, + "total_return_pct": 41.45, + "cagr_pct": 61.21, + "mdd_pct": 11.54, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 3.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.22 + } + }, + "alpha_pct": -53.65 + }, + "test": { + "final_equity": 106552154, + "total_return_pct": 6.55, + "cagr_pct": 22.44, + "mdd_pct": 10.78, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 24.0, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.72 + } + }, + "alpha_pct": -46.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.53, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.02, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.76, + "trades": 34 + } + ], + "worst_ret": 5.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141452767, + "total_return_pct": 41.45, + "cagr_pct": 61.21, + "mdd_pct": 11.54, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 30.0, + "profit_factor": 3.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.22 + } + }, + "alpha_pct": -53.65 + }, + "test": { + "final_equity": 106552154, + "total_return_pct": 6.55, + "cagr_pct": 22.44, + "mdd_pct": 10.78, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 24.0, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.72 + } + }, + "alpha_pct": -46.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.53, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.02, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.76, + "trades": 34 + } + ], + "worst_ret": 5.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138245501, + "total_return_pct": 38.25, + "cagr_pct": 56.2, + "mdd_pct": 11.83, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 34.9, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.42 + } + }, + "alpha_pct": -56.85 + }, + "test": { + "final_equity": 102826443, + "total_return_pct": 2.83, + "cagr_pct": 9.3, + "mdd_pct": 5.13, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 0.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.0 + } + }, + "alpha_pct": -50.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.14, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.71, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.71, + "trades": 23 + } + ], + "worst_ret": 5.71 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138245501, + "total_return_pct": 38.25, + "cagr_pct": 56.2, + "mdd_pct": 11.83, + "trades": 43, + "open_positions": 5, + "win_rate_pct": 34.9, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.42 + } + }, + "alpha_pct": -56.85 + }, + "test": { + "final_equity": 102826443, + "total_return_pct": 2.83, + "cagr_pct": 9.3, + "mdd_pct": 5.13, + "trades": 14, + "open_positions": 5, + "win_rate_pct": 21.4, + "profit_factor": 0.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.0 + } + }, + "alpha_pct": -50.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.14, + "trades": 13 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.71, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.71, + "trades": 23 + } + ], + "worst_ret": 5.71 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138836077, + "total_return_pct": 38.84, + "cagr_pct": 57.12, + "mdd_pct": 14.75, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.83 + } + }, + "alpha_pct": -56.26 + }, + "test": { + "final_equity": 105176811, + "total_return_pct": 5.18, + "cagr_pct": 17.47, + "mdd_pct": 7.69, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 1.79, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.35 + } + }, + "alpha_pct": -47.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.01, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.64, + "trades": 14 + } + ], + "worst_ret": 5.64 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138836077, + "total_return_pct": 38.84, + "cagr_pct": 57.12, + "mdd_pct": 14.75, + "trades": 40, + "open_positions": 7, + "win_rate_pct": 37.5, + "profit_factor": 3.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.83 + } + }, + "alpha_pct": -56.26 + }, + "test": { + "final_equity": 105176811, + "total_return_pct": 5.18, + "cagr_pct": 17.47, + "mdd_pct": 7.69, + "trades": 13, + "open_positions": 5, + "win_rate_pct": 30.8, + "profit_factor": 1.79, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.35 + } + }, + "alpha_pct": -47.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.81, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.01, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.64, + "trades": 14 + } + ], + "worst_ret": 5.64 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 124867279, + "total_return_pct": 24.87, + "cagr_pct": 35.77, + "mdd_pct": 10.97, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 37.1, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.8 + } + }, + "alpha_pct": -70.23 + }, + "test": { + "final_equity": 101162939, + "total_return_pct": 1.16, + "cagr_pct": 3.76, + "mdd_pct": 7.09, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.17, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.33 + } + }, + "alpha_pct": -51.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.17, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.63, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.61, + "trades": 25 + } + ], + "worst_ret": 5.61 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 124867279, + "total_return_pct": 24.87, + "cagr_pct": 35.77, + "mdd_pct": 10.97, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 37.1, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.8 + } + }, + "alpha_pct": -70.23 + }, + "test": { + "final_equity": 101162939, + "total_return_pct": 1.16, + "cagr_pct": 3.76, + "mdd_pct": 7.09, + "trades": 18, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.17, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.33 + } + }, + "alpha_pct": -51.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.17, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.63, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.61, + "trades": 25 + } + ], + "worst_ret": 5.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132752580, + "total_return_pct": 32.75, + "cagr_pct": 47.72, + "mdd_pct": 14.7, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 28.2, + "profit_factor": 2.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.92 + } + }, + "alpha_pct": -62.35 + }, + "test": { + "final_equity": 94705412, + "total_return_pct": -5.29, + "cagr_pct": -15.93, + "mdd_pct": 13.91, + "trades": 22, + "open_positions": 4, + "win_rate_pct": 18.2, + "profit_factor": 0.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.88 + } + }, + "alpha_pct": -58.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.99, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.61, + "trades": 23 + } + ], + "worst_ret": 5.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132752580, + "total_return_pct": 32.75, + "cagr_pct": 47.72, + "mdd_pct": 14.7, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 28.2, + "profit_factor": 2.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.92 + } + }, + "alpha_pct": -62.35 + }, + "test": { + "final_equity": 94705412, + "total_return_pct": -5.29, + "cagr_pct": -15.93, + "mdd_pct": 13.91, + "trades": 22, + "open_positions": 4, + "win_rate_pct": 18.2, + "profit_factor": 0.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.88 + } + }, + "alpha_pct": -58.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.99, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.61, + "trades": 23 + } + ], + "worst_ret": 5.61 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 124470097, + "total_return_pct": 24.47, + "cagr_pct": 35.18, + "mdd_pct": 13.11, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 30.9, + "profit_factor": 2.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.63 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -23.2 + } + }, + "alpha_pct": -70.63 + }, + "test": { + "final_equity": 100469809, + "total_return_pct": 0.47, + "cagr_pct": 1.51, + "mdd_pct": 7.79, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.64 + } + }, + "alpha_pct": -52.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.56, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.54, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.34, + "trades": 21 + } + ], + "worst_ret": 5.56 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 124470097, + "total_return_pct": 24.47, + "cagr_pct": 35.18, + "mdd_pct": 13.11, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 30.9, + "profit_factor": 2.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -70.63 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -23.2 + } + }, + "alpha_pct": -70.63 + }, + "test": { + "final_equity": 100469809, + "total_return_pct": 0.47, + "cagr_pct": 1.51, + "mdd_pct": 7.79, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.64 + } + }, + "alpha_pct": -52.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.56, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.54, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.34, + "trades": 21 + } + ], + "worst_ret": 5.56 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132310495, + "total_return_pct": 32.31, + "cagr_pct": 47.04, + "mdd_pct": 10.85, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.36 + } + }, + "alpha_pct": -62.79 + }, + "test": { + "final_equity": 104850139, + "total_return_pct": 4.85, + "cagr_pct": 16.31, + "mdd_pct": 5.26, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.58, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.02 + } + }, + "alpha_pct": -47.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.56, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.5, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.52, + "trades": 26 + } + ], + "worst_ret": 5.52 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132310495, + "total_return_pct": 32.31, + "cagr_pct": 47.04, + "mdd_pct": 10.85, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.26, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.36 + } + }, + "alpha_pct": -62.79 + }, + "test": { + "final_equity": 104850139, + "total_return_pct": 4.85, + "cagr_pct": 16.31, + "mdd_pct": 5.26, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.58, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.02 + } + }, + "alpha_pct": -47.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.56, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.5, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.52, + "trades": 26 + } + ], + "worst_ret": 5.52 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133580589, + "total_return_pct": 33.58, + "cagr_pct": 48.99, + "mdd_pct": 11.81, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 21.0, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.09 + } + }, + "alpha_pct": -61.52 + }, + "test": { + "final_equity": 128669689, + "total_return_pct": 28.67, + "cagr_pct": 123.47, + "mdd_pct": 6.42, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 7.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.84 + } + }, + "alpha_pct": -24.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.49, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.2, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.12, + "trades": 18 + } + ], + "worst_ret": 5.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133580589, + "total_return_pct": 33.58, + "cagr_pct": 48.99, + "mdd_pct": 11.81, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 21.0, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.09 + } + }, + "alpha_pct": -61.52 + }, + "test": { + "final_equity": 128669689, + "total_return_pct": 28.67, + "cagr_pct": 123.47, + "mdd_pct": 6.42, + "trades": 13, + "open_positions": 8, + "win_rate_pct": 38.5, + "profit_factor": 7.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -24.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 42.84 + } + }, + "alpha_pct": -24.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.49, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.2, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 25.12, + "trades": 18 + } + ], + "worst_ret": 5.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130936535, + "total_return_pct": 30.94, + "cagr_pct": 44.94, + "mdd_pct": 12.15, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 31.0, + "profit_factor": 2.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.73 + } + }, + "alpha_pct": -64.16 + }, + "test": { + "final_equity": 127118218, + "total_return_pct": 27.12, + "cagr_pct": 114.99, + "mdd_pct": 6.86, + "trades": 17, + "open_positions": 7, + "win_rate_pct": 35.3, + "profit_factor": 5.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.29 + } + }, + "alpha_pct": -25.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.49, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.09, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.75, + "trades": 22 + } + ], + "worst_ret": 5.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130936535, + "total_return_pct": 30.94, + "cagr_pct": 44.94, + "mdd_pct": 12.15, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 31.0, + "profit_factor": 2.48, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.73 + } + }, + "alpha_pct": -64.16 + }, + "test": { + "final_equity": 127118218, + "total_return_pct": 27.12, + "cagr_pct": 114.99, + "mdd_pct": 6.86, + "trades": 17, + "open_positions": 7, + "win_rate_pct": 35.3, + "profit_factor": 5.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -25.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 41.29 + } + }, + "alpha_pct": -25.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.49, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.09, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.75, + "trades": 22 + } + ], + "worst_ret": 5.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130475300, + "total_return_pct": 30.48, + "cagr_pct": 44.24, + "mdd_pct": 11.93, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 25.4, + "profit_factor": 2.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.19 + } + }, + "alpha_pct": -64.62 + }, + "test": { + "final_equity": 124985952, + "total_return_pct": 24.99, + "cagr_pct": 103.69, + "mdd_pct": 7.14, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 5.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.16 + } + }, + "alpha_pct": -27.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.49, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.53, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.37, + "trades": 20 + } + ], + "worst_ret": 5.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130475300, + "total_return_pct": 30.48, + "cagr_pct": 44.24, + "mdd_pct": 11.93, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 25.4, + "profit_factor": 2.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.62 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.19 + } + }, + "alpha_pct": -64.62 + }, + "test": { + "final_equity": 124985952, + "total_return_pct": 24.99, + "cagr_pct": 103.69, + "mdd_pct": 7.14, + "trades": 16, + "open_positions": 8, + "win_rate_pct": 37.5, + "profit_factor": 5.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -27.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 39.16 + } + }, + "alpha_pct": -27.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.49, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.53, + "trades": 20 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 22.37, + "trades": 20 + } + ], + "worst_ret": 5.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132932662, + "total_return_pct": 32.93, + "cagr_pct": 47.99, + "mdd_pct": 14.23, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.74 + } + }, + "alpha_pct": -62.17 + }, + "test": { + "final_equity": 105736112, + "total_return_pct": 5.74, + "cagr_pct": 19.47, + "mdd_pct": 7.74, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 1.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.09 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.91 + } + }, + "alpha_pct": -47.09 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.93, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.45, + "trades": 24 + } + ], + "worst_ret": 5.45 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132932662, + "total_return_pct": 32.93, + "cagr_pct": 47.99, + "mdd_pct": 14.23, + "trades": 70, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.74 + } + }, + "alpha_pct": -62.17 + }, + "test": { + "final_equity": 105736112, + "total_return_pct": 5.74, + "cagr_pct": 19.47, + "mdd_pct": 7.74, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 1.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.09 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.91 + } + }, + "alpha_pct": -47.09 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.93, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.45, + "trades": 24 + } + ], + "worst_ret": 5.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145948613, + "total_return_pct": 45.95, + "cagr_pct": 68.31, + "mdd_pct": 10.68, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.72 + } + }, + "alpha_pct": -49.15 + }, + "test": { + "final_equity": 106018674, + "total_return_pct": 6.02, + "cagr_pct": 20.49, + "mdd_pct": 8.71, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 24.0, + "profit_factor": 1.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.19 + } + }, + "alpha_pct": -46.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.01, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.72, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.44, + "trades": 34 + } + ], + "worst_ret": 5.44 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145948613, + "total_return_pct": 45.95, + "cagr_pct": 68.31, + "mdd_pct": 10.68, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.15 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.72 + } + }, + "alpha_pct": -49.15 + }, + "test": { + "final_equity": 106018674, + "total_return_pct": 6.02, + "cagr_pct": 20.49, + "mdd_pct": 8.71, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 24.0, + "profit_factor": 1.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.19 + } + }, + "alpha_pct": -46.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.01, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.72, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.44, + "trades": 34 + } + ], + "worst_ret": 5.44 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136975311, + "total_return_pct": 36.98, + "cagr_pct": 54.23, + "mdd_pct": 10.85, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 3.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.69 + } + }, + "alpha_pct": -58.12 + }, + "test": { + "final_equity": 104760902, + "total_return_pct": 4.76, + "cagr_pct": 15.99, + "mdd_pct": 5.26, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.07 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.93 + } + }, + "alpha_pct": -48.07 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.73, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.97, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.43, + "trades": 26 + } + ], + "worst_ret": 5.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136975311, + "total_return_pct": 36.98, + "cagr_pct": 54.23, + "mdd_pct": 10.85, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 3.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.12 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.69 + } + }, + "alpha_pct": -58.12 + }, + "test": { + "final_equity": 104760902, + "total_return_pct": 4.76, + "cagr_pct": 15.99, + "mdd_pct": 5.26, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.07 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.93 + } + }, + "alpha_pct": -48.07 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.73, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.97, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.43, + "trades": 26 + } + ], + "worst_ret": 5.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133989716, + "total_return_pct": 33.99, + "cagr_pct": 49.62, + "mdd_pct": 11.82, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 35.6, + "profit_factor": 3.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.68 + } + }, + "alpha_pct": -61.11 + }, + "test": { + "final_equity": 102590445, + "total_return_pct": 2.59, + "cagr_pct": 8.5, + "mdd_pct": 4.59, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.76 + } + }, + "alpha_pct": -50.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.43, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.92, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.82, + "trades": 24 + } + ], + "worst_ret": 5.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133989716, + "total_return_pct": 33.99, + "cagr_pct": 49.62, + "mdd_pct": 11.82, + "trades": 45, + "open_positions": 5, + "win_rate_pct": 35.6, + "profit_factor": 3.18, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.68 + } + }, + "alpha_pct": -61.11 + }, + "test": { + "final_equity": 102590445, + "total_return_pct": 2.59, + "cagr_pct": 8.5, + "mdd_pct": 4.59, + "trades": 15, + "open_positions": 4, + "win_rate_pct": 26.7, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.76 + } + }, + "alpha_pct": -50.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.43, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.92, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.82, + "trades": 24 + } + ], + "worst_ret": 5.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146405562, + "total_return_pct": 46.41, + "cagr_pct": 69.04, + "mdd_pct": 10.68, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 29.8, + "profit_factor": 3.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.26 + } + }, + "alpha_pct": -48.69 + }, + "test": { + "final_equity": 105960513, + "total_return_pct": 5.96, + "cagr_pct": 20.28, + "mdd_pct": 7.84, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 1.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.13 + } + }, + "alpha_pct": -46.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.01, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.72, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.42, + "trades": 30 + } + ], + "worst_ret": 5.42 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146405562, + "total_return_pct": 46.41, + "cagr_pct": 69.04, + "mdd_pct": 10.68, + "trades": 57, + "open_positions": 8, + "win_rate_pct": 29.8, + "profit_factor": 3.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.26 + } + }, + "alpha_pct": -48.69 + }, + "test": { + "final_equity": 105960513, + "total_return_pct": 5.96, + "cagr_pct": 20.28, + "mdd_pct": 7.84, + "trades": 21, + "open_positions": 8, + "win_rate_pct": 28.6, + "profit_factor": 1.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.13 + } + }, + "alpha_pct": -46.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.01, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.72, + "trades": 24 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.42, + "trades": 30 + } + ], + "worst_ret": 5.42 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141656428, + "total_return_pct": 41.66, + "cagr_pct": 61.53, + "mdd_pct": 13.84, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 3.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.01 + } + }, + "alpha_pct": -53.44 + }, + "test": { + "final_equity": 104904167, + "total_return_pct": 4.9, + "cagr_pct": 16.5, + "mdd_pct": 7.09, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.5, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.07 + } + }, + "alpha_pct": -47.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.72, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.38, + "trades": 26 + } + ], + "worst_ret": 5.38 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141656428, + "total_return_pct": 41.66, + "cagr_pct": 61.53, + "mdd_pct": 13.84, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 3.66, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.01 + } + }, + "alpha_pct": -53.44 + }, + "test": { + "final_equity": 104904167, + "total_return_pct": 4.9, + "cagr_pct": 16.5, + "mdd_pct": 7.09, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.5, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.07 + } + }, + "alpha_pct": -47.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.72, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.38, + "trades": 26 + } + ], + "worst_ret": 5.38 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134633784, + "total_return_pct": 34.63, + "cagr_pct": 50.61, + "mdd_pct": 13.87, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 37.0, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.04 + } + }, + "alpha_pct": -60.47 + }, + "test": { + "final_equity": 105201034, + "total_return_pct": 5.2, + "cagr_pct": 17.55, + "mdd_pct": 6.98, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.37 + } + }, + "alpha_pct": -47.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.46, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.94, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.34, + "trades": 25 + } + ], + "worst_ret": 5.34 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134633784, + "total_return_pct": 34.63, + "cagr_pct": 50.61, + "mdd_pct": 13.87, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 37.0, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.47 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.04 + } + }, + "alpha_pct": -60.47 + }, + "test": { + "final_equity": 105201034, + "total_return_pct": 5.2, + "cagr_pct": 17.55, + "mdd_pct": 6.98, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.52, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.37 + } + }, + "alpha_pct": -47.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.46, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.94, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.34, + "trades": 25 + } + ], + "worst_ret": 5.34 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136554929, + "total_return_pct": 36.55, + "cagr_pct": 53.58, + "mdd_pct": 13.91, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 36.2, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.12 + } + }, + "alpha_pct": -58.55 + }, + "test": { + "final_equity": 105290531, + "total_return_pct": 5.29, + "cagr_pct": 17.87, + "mdd_pct": 5.25, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.46 + } + }, + "alpha_pct": -47.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.56, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.31, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.33, + "trades": 26 + } + ], + "worst_ret": 5.33 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136554929, + "total_return_pct": 36.55, + "cagr_pct": 53.58, + "mdd_pct": 13.91, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 36.2, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.12 + } + }, + "alpha_pct": -58.55 + }, + "test": { + "final_equity": 105290531, + "total_return_pct": 5.29, + "cagr_pct": 17.87, + "mdd_pct": 5.25, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.65, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.46 + } + }, + "alpha_pct": -47.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.56, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.31, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.33, + "trades": 26 + } + ], + "worst_ret": 5.33 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138668026, + "total_return_pct": 38.67, + "cagr_pct": 56.86, + "mdd_pct": 13.09, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.0 + } + }, + "alpha_pct": -56.43 + }, + "test": { + "final_equity": 104123108, + "total_return_pct": 4.12, + "cagr_pct": 13.76, + "mdd_pct": 6.66, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.29 + } + }, + "alpha_pct": -48.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.05, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.66, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.33, + "trades": 20 + } + ], + "worst_ret": 5.33 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138668026, + "total_return_pct": 38.67, + "cagr_pct": 56.86, + "mdd_pct": 13.09, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.0 + } + }, + "alpha_pct": -56.43 + }, + "test": { + "final_equity": 104123108, + "total_return_pct": 4.12, + "cagr_pct": 13.76, + "mdd_pct": 6.66, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.71 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.29 + } + }, + "alpha_pct": -48.71 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.05, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.66, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.33, + "trades": 20 + } + ], + "worst_ret": 5.33 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138247399, + "total_return_pct": 38.25, + "cagr_pct": 56.2, + "mdd_pct": 13.32, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.42 + } + }, + "alpha_pct": -56.85 + }, + "test": { + "final_equity": 103648728, + "total_return_pct": 3.65, + "cagr_pct": 12.11, + "mdd_pct": 6.67, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 27.8, + "profit_factor": 1.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.18 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.82 + } + }, + "alpha_pct": -49.18 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.05, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.51, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.33, + "trades": 20 + } + ], + "worst_ret": 5.33 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138247399, + "total_return_pct": 38.25, + "cagr_pct": 56.2, + "mdd_pct": 13.32, + "trades": 49, + "open_positions": 7, + "win_rate_pct": 40.8, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.42 + } + }, + "alpha_pct": -56.85 + }, + "test": { + "final_equity": 103648728, + "total_return_pct": 3.65, + "cagr_pct": 12.11, + "mdd_pct": 6.67, + "trades": 18, + "open_positions": 4, + "win_rate_pct": 27.8, + "profit_factor": 1.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.18 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.82 + } + }, + "alpha_pct": -49.18 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.05, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.51, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.33, + "trades": 20 + } + ], + "worst_ret": 5.33 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127937416, + "total_return_pct": 27.94, + "cagr_pct": 40.39, + "mdd_pct": 11.12, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 2.45, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.73 + } + }, + "alpha_pct": -67.16 + }, + "test": { + "final_equity": 98227314, + "total_return_pct": -1.77, + "cagr_pct": -5.55, + "mdd_pct": 7.51, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.6 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.4 + } + }, + "alpha_pct": -54.6 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.99, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.71, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.31, + "trades": 24 + } + ], + "worst_ret": 5.31 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127937416, + "total_return_pct": 27.94, + "cagr_pct": 40.39, + "mdd_pct": 11.12, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 38.1, + "profit_factor": 2.45, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.73 + } + }, + "alpha_pct": -67.16 + }, + "test": { + "final_equity": 98227314, + "total_return_pct": -1.77, + "cagr_pct": -5.55, + "mdd_pct": 7.51, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.61, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.6 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.4 + } + }, + "alpha_pct": -54.6 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.99, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.71, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.31, + "trades": 24 + } + ], + "worst_ret": 5.31 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148524786, + "total_return_pct": 48.52, + "cagr_pct": 72.42, + "mdd_pct": 12.61, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.85 + } + }, + "alpha_pct": -46.58 + }, + "test": { + "final_equity": 98052089, + "total_return_pct": -1.95, + "cagr_pct": -6.08, + "mdd_pct": 11.61, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 0.81, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.22 + } + }, + "alpha_pct": -54.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.49, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.67, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.23, + "trades": 28 + } + ], + "worst_ret": 5.23 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 148524786, + "total_return_pct": 48.52, + "cagr_pct": 72.42, + "mdd_pct": 12.61, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.85 + } + }, + "alpha_pct": -46.58 + }, + "test": { + "final_equity": 98052089, + "total_return_pct": -1.95, + "cagr_pct": -6.08, + "mdd_pct": 11.61, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 0.81, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.22 + } + }, + "alpha_pct": -54.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.49, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.67, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.23, + "trades": 28 + } + ], + "worst_ret": 5.23 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152315444, + "total_return_pct": 52.32, + "cagr_pct": 78.5, + "mdd_pct": 14.62, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 40.4, + "profit_factor": 4.44, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.65 + } + }, + "alpha_pct": -42.78 + }, + "test": { + "final_equity": 95243116, + "total_return_pct": -4.76, + "cagr_pct": -14.4, + "mdd_pct": 10.83, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 15.0, + "profit_factor": 0.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.41 + } + }, + "alpha_pct": -57.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.43, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.19, + "trades": 18 + } + ], + "worst_ret": 5.19 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 152315444, + "total_return_pct": 52.32, + "cagr_pct": 78.5, + "mdd_pct": 14.62, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 40.4, + "profit_factor": 4.44, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 4.65 + } + }, + "alpha_pct": -42.78 + }, + "test": { + "final_equity": 95243116, + "total_return_pct": -4.76, + "cagr_pct": -14.4, + "mdd_pct": 10.83, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 15.0, + "profit_factor": 0.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.41 + } + }, + "alpha_pct": -57.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.43, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.19, + "trades": 18 + } + ], + "worst_ret": 5.19 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141368684, + "total_return_pct": 41.37, + "cagr_pct": 61.08, + "mdd_pct": 13.91, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.3 + } + }, + "alpha_pct": -53.73 + }, + "test": { + "final_equity": 105200587, + "total_return_pct": 5.2, + "cagr_pct": 17.55, + "mdd_pct": 5.25, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.37 + } + }, + "alpha_pct": -47.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.73, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.8, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.02, + "trades": 26 + } + ], + "worst_ret": 5.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141368684, + "total_return_pct": 41.37, + "cagr_pct": 61.08, + "mdd_pct": 13.91, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.3 + } + }, + "alpha_pct": -53.73 + }, + "test": { + "final_equity": 105200587, + "total_return_pct": 5.2, + "cagr_pct": 17.55, + "mdd_pct": 5.25, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.63, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.63 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.37 + } + }, + "alpha_pct": -47.63 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.73, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.8, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.02, + "trades": 26 + } + ], + "worst_ret": 5.02 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145660231, + "total_return_pct": 45.66, + "cagr_pct": 67.85, + "mdd_pct": 12.83, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 35.4, + "profit_factor": 3.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.01 + } + }, + "alpha_pct": -49.44 + }, + "test": { + "final_equity": 105913710, + "total_return_pct": 5.91, + "cagr_pct": 20.11, + "mdd_pct": 8.73, + "trades": 26, + "open_positions": 6, + "win_rate_pct": 34.6, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.08 + } + }, + "alpha_pct": -46.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.57, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.27, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.73, + "trades": 36 + } + ], + "worst_ret": 4.73 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145660231, + "total_return_pct": 45.66, + "cagr_pct": 67.85, + "mdd_pct": 12.83, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 35.4, + "profit_factor": 3.25, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.01 + } + }, + "alpha_pct": -49.44 + }, + "test": { + "final_equity": 105913710, + "total_return_pct": 5.91, + "cagr_pct": 20.11, + "mdd_pct": 8.73, + "trades": 26, + "open_positions": 6, + "win_rate_pct": 34.6, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -46.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 20.08 + } + }, + "alpha_pct": -46.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.57, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.27, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.73, + "trades": 36 + } + ], + "worst_ret": 4.73 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132257467, + "total_return_pct": 32.26, + "cagr_pct": 46.96, + "mdd_pct": 11.76, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.84 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.41 + } + }, + "alpha_pct": -62.84 + }, + "test": { + "final_equity": 108063688, + "total_return_pct": 8.06, + "cagr_pct": 28.07, + "mdd_pct": 7.46, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.23 + } + }, + "alpha_pct": -44.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.06, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.0, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.68, + "trades": 21 + } + ], + "worst_ret": 4.68 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132257467, + "total_return_pct": 32.26, + "cagr_pct": 46.96, + "mdd_pct": 11.76, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 33.3, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.84 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.41 + } + }, + "alpha_pct": -62.84 + }, + "test": { + "final_equity": 108063688, + "total_return_pct": 8.06, + "cagr_pct": 28.07, + "mdd_pct": 7.46, + "trades": 21, + "open_positions": 6, + "win_rate_pct": 33.3, + "profit_factor": 2.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.23 + } + }, + "alpha_pct": -44.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.06, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.0, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.68, + "trades": 21 + } + ], + "worst_ret": 4.68 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146311194, + "total_return_pct": 46.31, + "cagr_pct": 68.89, + "mdd_pct": 12.44, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.36 + } + }, + "alpha_pct": -48.79 + }, + "test": { + "final_equity": 98974171, + "total_return_pct": -1.03, + "cagr_pct": -3.24, + "mdd_pct": 10.88, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.14 + } + }, + "alpha_pct": -53.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.39, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.65, + "trades": 22 + } + ], + "worst_ret": 4.65 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146311194, + "total_return_pct": 46.31, + "cagr_pct": 68.89, + "mdd_pct": 12.44, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.68, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.36 + } + }, + "alpha_pct": -48.79 + }, + "test": { + "final_equity": 98974171, + "total_return_pct": -1.03, + "cagr_pct": -3.24, + "mdd_pct": 10.88, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.86 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.14 + } + }, + "alpha_pct": -53.86 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 28.39, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.65, + "trades": 22 + } + ], + "worst_ret": 4.65 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132778713, + "total_return_pct": 32.78, + "cagr_pct": 47.76, + "mdd_pct": 10.9, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.89 + } + }, + "alpha_pct": -62.32 + }, + "test": { + "final_equity": 102610476, + "total_return_pct": 2.61, + "cagr_pct": 8.57, + "mdd_pct": 4.85, + "trades": 10, + "open_positions": 5, + "win_rate_pct": 30.0, + "profit_factor": 0.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.78 + } + }, + "alpha_pct": -50.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.85, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.53, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.65, + "trades": 14 + } + ], + "worst_ret": 4.53 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132778713, + "total_return_pct": 32.78, + "cagr_pct": 47.76, + "mdd_pct": 10.9, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.89 + } + }, + "alpha_pct": -62.32 + }, + "test": { + "final_equity": 102610476, + "total_return_pct": 2.61, + "cagr_pct": 8.57, + "mdd_pct": 4.85, + "trades": 10, + "open_positions": 5, + "win_rate_pct": 30.0, + "profit_factor": 0.96, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.78 + } + }, + "alpha_pct": -50.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.85, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.53, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.65, + "trades": 14 + } + ], + "worst_ret": 4.53 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145502115, + "total_return_pct": 45.5, + "cagr_pct": 67.6, + "mdd_pct": 12.63, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.65, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.17 + } + }, + "alpha_pct": -49.6 + }, + "test": { + "final_equity": 104584576, + "total_return_pct": 4.58, + "cagr_pct": 15.37, + "mdd_pct": 14.74, + "trades": 29, + "open_positions": 6, + "win_rate_pct": 20.7, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.25 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.75 + } + }, + "alpha_pct": -48.25 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.92, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.01, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.43, + "trades": 41 + } + ], + "worst_ret": 4.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145502115, + "total_return_pct": 45.5, + "cagr_pct": 67.6, + "mdd_pct": 12.63, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.65, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.17 + } + }, + "alpha_pct": -49.6 + }, + "test": { + "final_equity": 104584576, + "total_return_pct": 4.58, + "cagr_pct": 15.37, + "mdd_pct": 14.74, + "trades": 29, + "open_positions": 6, + "win_rate_pct": 20.7, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.25 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.75 + } + }, + "alpha_pct": -48.25 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.92, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.01, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.43, + "trades": 41 + } + ], + "worst_ret": 4.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138274749, + "total_return_pct": 38.27, + "cagr_pct": 56.25, + "mdd_pct": 12.82, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.4 + } + }, + "alpha_pct": -56.83 + }, + "test": { + "final_equity": 108131833, + "total_return_pct": 8.13, + "cagr_pct": 28.32, + "mdd_pct": 7.35, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 36.0, + "profit_factor": 1.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.7 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.3 + } + }, + "alpha_pct": -44.7 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.03, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.21, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.39, + "trades": 35 + } + ], + "worst_ret": 4.39 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138274749, + "total_return_pct": 38.27, + "cagr_pct": 56.25, + "mdd_pct": 12.82, + "trades": 60, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 2.99, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.4 + } + }, + "alpha_pct": -56.83 + }, + "test": { + "final_equity": 108131833, + "total_return_pct": 8.13, + "cagr_pct": 28.32, + "mdd_pct": 7.35, + "trades": 25, + "open_positions": 6, + "win_rate_pct": 36.0, + "profit_factor": 1.93, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.7 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.3 + } + }, + "alpha_pct": -44.7 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 16.03, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.21, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.39, + "trades": 35 + } + ], + "worst_ret": 4.39 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145875099, + "total_return_pct": 45.88, + "cagr_pct": 68.19, + "mdd_pct": 11.42, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.79 + } + }, + "alpha_pct": -49.22 + }, + "test": { + "final_equity": 99437585, + "total_return_pct": -0.56, + "cagr_pct": -1.78, + "mdd_pct": 9.31, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.61 + } + }, + "alpha_pct": -53.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.46, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.38, + "trades": 22 + } + ], + "worst_ret": 4.38 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145875099, + "total_return_pct": 45.88, + "cagr_pct": 68.19, + "mdd_pct": 11.42, + "trades": 72, + "open_positions": 8, + "win_rate_pct": 38.9, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.22 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.79 + } + }, + "alpha_pct": -49.22 + }, + "test": { + "final_equity": 99437585, + "total_return_pct": -0.56, + "cagr_pct": -1.78, + "mdd_pct": 9.31, + "trades": 25, + "open_positions": 5, + "win_rate_pct": 28.0, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.61 + } + }, + "alpha_pct": -53.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 27.46, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.38, + "trades": 22 + } + ], + "worst_ret": 4.38 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123368562, + "total_return_pct": 23.37, + "cagr_pct": 33.53, + "mdd_pct": 10.94, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 35.7, + "profit_factor": 2.45, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.3 + } + }, + "alpha_pct": -71.73 + }, + "test": { + "final_equity": 100433802, + "total_return_pct": 0.43, + "cagr_pct": 1.39, + "mdd_pct": 8.08, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 15.8, + "profit_factor": 0.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.6 + } + }, + "alpha_pct": -52.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.07, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.93, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.33, + "trades": 27 + } + ], + "worst_ret": 4.33 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123368562, + "total_return_pct": 23.37, + "cagr_pct": 33.53, + "mdd_pct": 10.94, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 35.7, + "profit_factor": 2.45, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.73 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.3 + } + }, + "alpha_pct": -71.73 + }, + "test": { + "final_equity": 100433802, + "total_return_pct": 0.43, + "cagr_pct": 1.39, + "mdd_pct": 8.08, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 15.8, + "profit_factor": 0.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.4 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.6 + } + }, + "alpha_pct": -52.4 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.07, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.93, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.33, + "trades": 27 + } + ], + "worst_ret": 4.33 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139830127, + "total_return_pct": 39.83, + "cagr_pct": 58.67, + "mdd_pct": 13.88, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.84 + } + }, + "alpha_pct": -55.27 + }, + "test": { + "final_equity": 104383910, + "total_return_pct": 4.38, + "cagr_pct": 14.67, + "mdd_pct": 7.64, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.55 + } + }, + "alpha_pct": -48.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.64, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.45, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.18, + "trades": 25 + } + ], + "worst_ret": 4.18 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139830127, + "total_return_pct": 39.83, + "cagr_pct": 58.67, + "mdd_pct": 13.88, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.84 + } + }, + "alpha_pct": -55.27 + }, + "test": { + "final_equity": 104383910, + "total_return_pct": 4.38, + "cagr_pct": 14.67, + "mdd_pct": 7.64, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.37, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.55 + } + }, + "alpha_pct": -48.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.64, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.45, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.18, + "trades": 25 + } + ], + "worst_ret": 4.18 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133326235, + "total_return_pct": 33.33, + "cagr_pct": 48.6, + "mdd_pct": 14.74, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 1.96, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.34 + } + }, + "alpha_pct": -61.77 + }, + "test": { + "final_equity": 108699142, + "total_return_pct": 8.7, + "cagr_pct": 30.48, + "mdd_pct": 9.62, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 2.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.87 + } + }, + "alpha_pct": -44.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.15, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.96, + "trades": 20 + } + ], + "worst_ret": 3.96 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133326235, + "total_return_pct": 33.33, + "cagr_pct": 48.6, + "mdd_pct": 14.74, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 1.96, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.34 + } + }, + "alpha_pct": -61.77 + }, + "test": { + "final_equity": 108699142, + "total_return_pct": 8.7, + "cagr_pct": 30.48, + "mdd_pct": 9.62, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 2.31, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -44.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 22.87 + } + }, + "alpha_pct": -44.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 26.15, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.96, + "trades": 20 + } + ], + "worst_ret": 3.96 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134440815, + "total_return_pct": 34.44, + "cagr_pct": 50.31, + "mdd_pct": 11.1, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.66 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.23 + } + }, + "alpha_pct": -60.66 + }, + "test": { + "final_equity": 99800708, + "total_return_pct": -0.2, + "cagr_pct": -0.63, + "mdd_pct": 6.58, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.97 + } + }, + "alpha_pct": -53.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.85, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.49, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.73, + "trades": 18 + } + ], + "worst_ret": 3.73 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134440815, + "total_return_pct": 34.44, + "cagr_pct": 50.31, + "mdd_pct": 11.1, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.66 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.23 + } + }, + "alpha_pct": -60.66 + }, + "test": { + "final_equity": 99800708, + "total_return_pct": -0.2, + "cagr_pct": -0.63, + "mdd_pct": 6.58, + "trades": 15, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.97 + } + }, + "alpha_pct": -53.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.85, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.49, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.73, + "trades": 18 + } + ], + "worst_ret": 3.73 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129659365, + "total_return_pct": 29.66, + "cagr_pct": 43.0, + "mdd_pct": 11.14, + "trades": 66, + "open_positions": 6, + "win_rate_pct": 39.4, + "profit_factor": 2.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.01 + } + }, + "alpha_pct": -65.44 + }, + "test": { + "final_equity": 100064364, + "total_return_pct": 0.06, + "cagr_pct": 0.21, + "mdd_pct": 7.82, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.23 + } + }, + "alpha_pct": -52.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.74, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.05, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.71, + "trades": 27 + } + ], + "worst_ret": 3.71 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129659365, + "total_return_pct": 29.66, + "cagr_pct": 43.0, + "mdd_pct": 11.14, + "trades": 66, + "open_positions": 6, + "win_rate_pct": 39.4, + "profit_factor": 2.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.01 + } + }, + "alpha_pct": -65.44 + }, + "test": { + "final_equity": 100064364, + "total_return_pct": 0.06, + "cagr_pct": 0.21, + "mdd_pct": 7.82, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 33.3, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.23 + } + }, + "alpha_pct": -52.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.74, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.05, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.71, + "trades": 27 + } + ], + "worst_ret": 3.71 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123491705, + "total_return_pct": 23.49, + "cagr_pct": 33.72, + "mdd_pct": 10.93, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.18 + } + }, + "alpha_pct": -71.61 + }, + "test": { + "final_equity": 99713442, + "total_return_pct": -0.29, + "cagr_pct": -0.91, + "mdd_pct": 8.08, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.88 + } + }, + "alpha_pct": -53.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.81, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.52, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.56, + "trades": 29 + } + ], + "worst_ret": 3.56 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 123491705, + "total_return_pct": 23.49, + "cagr_pct": 33.72, + "mdd_pct": 10.93, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 2.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -71.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.18 + } + }, + "alpha_pct": -71.61 + }, + "test": { + "final_equity": 99713442, + "total_return_pct": -0.29, + "cagr_pct": -0.91, + "mdd_pct": 8.08, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.88 + } + }, + "alpha_pct": -53.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.81, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.52, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.56, + "trades": 29 + } + ], + "worst_ret": 3.56 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131748157, + "total_return_pct": 31.75, + "cagr_pct": 46.18, + "mdd_pct": 11.07, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.92 + } + }, + "alpha_pct": -63.35 + }, + "test": { + "final_equity": 93963276, + "total_return_pct": -6.04, + "cagr_pct": -18.01, + "mdd_pct": 11.35, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.13 + } + }, + "alpha_pct": -58.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.55, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.13, + "trades": 29 + } + ], + "worst_ret": 3.55 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131748157, + "total_return_pct": 31.75, + "cagr_pct": 46.18, + "mdd_pct": 11.07, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.92 + } + }, + "alpha_pct": -63.35 + }, + "test": { + "final_equity": 93963276, + "total_return_pct": -6.04, + "cagr_pct": -18.01, + "mdd_pct": 11.35, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.13 + } + }, + "alpha_pct": -58.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.55, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.13, + "trades": 29 + } + ], + "worst_ret": 3.55 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148346246, + "total_return_pct": 48.35, + "cagr_pct": 72.13, + "mdd_pct": 12.68, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.68 + } + }, + "alpha_pct": -46.75 + }, + "test": { + "final_equity": 99712409, + "total_return_pct": -0.29, + "cagr_pct": -0.91, + "mdd_pct": 9.31, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.88 + } + }, + "alpha_pct": -53.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.36, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.91, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.49, + "trades": 32 + } + ], + "worst_ret": 3.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 148346246, + "total_return_pct": 48.35, + "cagr_pct": 72.13, + "mdd_pct": 12.68, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -46.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 0.68 + } + }, + "alpha_pct": -46.75 + }, + "test": { + "final_equity": 99712409, + "total_return_pct": -0.29, + "cagr_pct": -0.91, + "mdd_pct": 9.31, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.88 + } + }, + "alpha_pct": -53.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.36, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.91, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.49, + "trades": 32 + } + ], + "worst_ret": 3.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132394913, + "total_return_pct": 32.39, + "cagr_pct": 47.17, + "mdd_pct": 11.42, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 28.1, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.28 + } + }, + "alpha_pct": -62.71 + }, + "test": { + "final_equity": 95767074, + "total_return_pct": -4.23, + "cagr_pct": -12.89, + "mdd_pct": 12.54, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.94 + } + }, + "alpha_pct": -57.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.63, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.46, + "trades": 19 + } + ], + "worst_ret": 3.46 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132394913, + "total_return_pct": 32.39, + "cagr_pct": 47.17, + "mdd_pct": 11.42, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 28.1, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.28 + } + }, + "alpha_pct": -62.71 + }, + "test": { + "final_equity": 95767074, + "total_return_pct": -4.23, + "cagr_pct": -12.89, + "mdd_pct": 12.54, + "trades": 18, + "open_positions": 7, + "win_rate_pct": 22.2, + "profit_factor": 0.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.94 + } + }, + "alpha_pct": -57.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.63, + "trades": 14 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.46, + "trades": 19 + } + ], + "worst_ret": 3.46 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145931221, + "total_return_pct": 45.93, + "cagr_pct": 68.28, + "mdd_pct": 12.7, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.74 + } + }, + "alpha_pct": -49.17 + }, + "test": { + "final_equity": 99622465, + "total_return_pct": -0.38, + "cagr_pct": -1.2, + "mdd_pct": 9.32, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.79 + } + }, + "alpha_pct": -53.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.45, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.02, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.41, + "trades": 32 + } + ], + "worst_ret": 3.41 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145931221, + "total_return_pct": 45.93, + "cagr_pct": 68.28, + "mdd_pct": 12.7, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 37.7, + "profit_factor": 3.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.74 + } + }, + "alpha_pct": -49.17 + }, + "test": { + "final_equity": 99622465, + "total_return_pct": -0.38, + "cagr_pct": -1.2, + "mdd_pct": 9.32, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.79 + } + }, + "alpha_pct": -53.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.45, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.02, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.41, + "trades": 32 + } + ], + "worst_ret": 3.41 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129649599, + "total_return_pct": 29.65, + "cagr_pct": 42.99, + "mdd_pct": 11.69, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 39.1, + "profit_factor": 2.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.02 + } + }, + "alpha_pct": -65.45 + }, + "test": { + "final_equity": 102998447, + "total_return_pct": 3.0, + "cagr_pct": 9.88, + "mdd_pct": 6.34, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 46.2, + "profit_factor": 1.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.17 + } + }, + "alpha_pct": -49.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.29, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.05, + "trades": 17 + } + ], + "worst_ret": 3.29 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129649599, + "total_return_pct": 29.65, + "cagr_pct": 42.99, + "mdd_pct": 11.69, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 39.1, + "profit_factor": 2.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.02 + } + }, + "alpha_pct": -65.45 + }, + "test": { + "final_equity": 102998447, + "total_return_pct": 3.0, + "cagr_pct": 9.88, + "mdd_pct": 6.34, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 46.2, + "profit_factor": 1.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.83 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.17 + } + }, + "alpha_pct": -49.83 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.29, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.05, + "trades": 17 + } + ], + "worst_ret": 3.29 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125274210, + "total_return_pct": 25.27, + "cagr_pct": 36.38, + "mdd_pct": 11.32, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.4 + } + }, + "alpha_pct": -69.83 + }, + "test": { + "final_equity": 99955259, + "total_return_pct": -0.04, + "cagr_pct": -0.14, + "mdd_pct": 11.86, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 1.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.13 + } + }, + "alpha_pct": -52.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.02, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.15, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.15, + "trades": 29 + } + ], + "worst_ret": 3.15 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125274210, + "total_return_pct": 25.27, + "cagr_pct": 36.38, + "mdd_pct": 11.32, + "trades": 61, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.83 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.4 + } + }, + "alpha_pct": -69.83 + }, + "test": { + "final_equity": 99955259, + "total_return_pct": -0.04, + "cagr_pct": -0.14, + "mdd_pct": 11.86, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 1.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.13 + } + }, + "alpha_pct": -52.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.02, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.15, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 8.15, + "trades": 29 + } + ], + "worst_ret": 3.15 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129809516, + "total_return_pct": 29.81, + "cagr_pct": 43.23, + "mdd_pct": 11.16, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.86 + } + }, + "alpha_pct": -65.29 + }, + "test": { + "final_equity": 99063000, + "total_return_pct": -0.94, + "cagr_pct": -2.96, + "mdd_pct": 6.53, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 0.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.23 + } + }, + "alpha_pct": -53.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.61, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.11, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.14, + "trades": 19 + } + ], + "worst_ret": 3.14 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129809516, + "total_return_pct": 29.81, + "cagr_pct": 43.23, + "mdd_pct": 11.16, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.86 + } + }, + "alpha_pct": -65.29 + }, + "test": { + "final_equity": 99063000, + "total_return_pct": -0.94, + "cagr_pct": -2.96, + "mdd_pct": 6.53, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 0.84, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.23 + } + }, + "alpha_pct": -53.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.61, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.11, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.14, + "trades": 19 + } + ], + "worst_ret": 3.14 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139859280, + "total_return_pct": 39.86, + "cagr_pct": 58.72, + "mdd_pct": 11.05, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 3.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.24 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.81 + } + }, + "alpha_pct": -55.24 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.01, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.14, + "trades": 20 + } + ], + "worst_ret": 3.14 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 139859280, + "total_return_pct": 39.86, + "cagr_pct": 58.72, + "mdd_pct": 11.05, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 3.86, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.24 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.81 + } + }, + "alpha_pct": -55.24 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.01, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.14, + "trades": 20 + } + ], + "worst_ret": 3.14 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143121846, + "total_return_pct": 43.12, + "cagr_pct": 63.84, + "mdd_pct": 14.66, + "trades": 50, + "open_positions": 6, + "win_rate_pct": 40.0, + "profit_factor": 3.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.55 + } + }, + "alpha_pct": -51.98 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.32, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.14, + "trades": 20 + } + ], + "worst_ret": 3.14 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 143121846, + "total_return_pct": 43.12, + "cagr_pct": 63.84, + "mdd_pct": 14.66, + "trades": 50, + "open_positions": 6, + "win_rate_pct": 40.0, + "profit_factor": 3.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.55 + } + }, + "alpha_pct": -51.98 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.32, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.14, + "trades": 20 + } + ], + "worst_ret": 3.14 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132524106, + "total_return_pct": 32.52, + "cagr_pct": 47.37, + "mdd_pct": 11.2, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 34.5, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.15 + } + }, + "alpha_pct": -62.58 + }, + "test": { + "final_equity": 99280893, + "total_return_pct": -0.72, + "cagr_pct": -2.28, + "mdd_pct": 7.9, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.45 + } + }, + "alpha_pct": -53.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.02, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.06, + "trades": 23 + } + ], + "worst_ret": 3.02 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132524106, + "total_return_pct": 32.52, + "cagr_pct": 47.37, + "mdd_pct": 11.2, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 34.5, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.15 + } + }, + "alpha_pct": -62.58 + }, + "test": { + "final_equity": 99280893, + "total_return_pct": -0.72, + "cagr_pct": -2.28, + "mdd_pct": 7.9, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.45 + } + }, + "alpha_pct": -53.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.45, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.02, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.06, + "trades": 23 + } + ], + "worst_ret": 3.02 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129234474, + "total_return_pct": 29.23, + "cagr_pct": 42.36, + "mdd_pct": 11.03, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.44 + } + }, + "alpha_pct": -65.87 + }, + "test": { + "final_equity": 93963276, + "total_return_pct": -6.04, + "cagr_pct": -18.01, + "mdd_pct": 11.35, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.13 + } + }, + "alpha_pct": -58.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.95, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.13, + "trades": 29 + } + ], + "worst_ret": 2.95 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129234474, + "total_return_pct": 29.23, + "cagr_pct": 42.36, + "mdd_pct": 11.03, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.31, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.44 + } + }, + "alpha_pct": -65.87 + }, + "test": { + "final_equity": 93963276, + "total_return_pct": -6.04, + "cagr_pct": -18.01, + "mdd_pct": 11.35, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.87 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.13 + } + }, + "alpha_pct": -58.87 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.95, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.13, + "trades": 29 + } + ], + "worst_ret": 2.95 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139870181, + "total_return_pct": 39.87, + "cagr_pct": 58.73, + "mdd_pct": 11.01, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 3.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.8 + } + }, + "alpha_pct": -55.23 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.66, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.94, + "trades": 20 + } + ], + "worst_ret": 2.94 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139870181, + "total_return_pct": 39.87, + "cagr_pct": 58.73, + "mdd_pct": 11.01, + "trades": 52, + "open_positions": 6, + "win_rate_pct": 44.2, + "profit_factor": 3.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.8 + } + }, + "alpha_pct": -55.23 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.66, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.94, + "trades": 20 + } + ], + "worst_ret": 2.94 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143044807, + "total_return_pct": 43.04, + "cagr_pct": 63.72, + "mdd_pct": 14.62, + "trades": 50, + "open_positions": 6, + "win_rate_pct": 40.0, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.63 + } + }, + "alpha_pct": -52.06 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.88, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.94, + "trades": 20 + } + ], + "worst_ret": 2.94 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143044807, + "total_return_pct": 43.04, + "cagr_pct": 63.72, + "mdd_pct": 14.62, + "trades": 50, + "open_positions": 6, + "win_rate_pct": 40.0, + "profit_factor": 3.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.63 + } + }, + "alpha_pct": -52.06 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.42, + "trades": 9 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.88, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.94, + "trades": 20 + } + ], + "worst_ret": 2.94 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145746941, + "total_return_pct": 45.75, + "cagr_pct": 67.99, + "mdd_pct": 13.88, + "trades": 72, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 2.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.92 + } + }, + "alpha_pct": -49.35 + }, + "test": { + "final_equity": 119787919, + "total_return_pct": 19.79, + "cagr_pct": 77.88, + "mdd_pct": 12.7, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 37.0, + "profit_factor": 2.26, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.96 + } + }, + "alpha_pct": -33.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.51, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.67, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.91, + "trades": 37 + } + ], + "worst_ret": 2.91 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145746941, + "total_return_pct": 45.75, + "cagr_pct": 67.99, + "mdd_pct": 13.88, + "trades": 72, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 2.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.92 + } + }, + "alpha_pct": -49.35 + }, + "test": { + "final_equity": 119787919, + "total_return_pct": 19.79, + "cagr_pct": 77.88, + "mdd_pct": 12.7, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 37.0, + "profit_factor": 2.26, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -33.04 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 33.96 + } + }, + "alpha_pct": -33.04 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.51, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.67, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.91, + "trades": 37 + } + ], + "worst_ret": 2.91 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 128508832, + "total_return_pct": 28.51, + "cagr_pct": 41.26, + "mdd_pct": 11.15, + "trades": 68, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 2.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.16 + } + }, + "alpha_pct": -66.59 + }, + "test": { + "final_equity": 98992871, + "total_return_pct": -1.01, + "cagr_pct": -3.18, + "mdd_pct": 9.22, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 21.7, + "profit_factor": 0.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.16 + } + }, + "alpha_pct": -53.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.0, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.86, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.91, + "trades": 30 + } + ], + "worst_ret": 2.91 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 128508832, + "total_return_pct": 28.51, + "cagr_pct": 41.26, + "mdd_pct": 11.15, + "trades": 68, + "open_positions": 6, + "win_rate_pct": 35.3, + "profit_factor": 2.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.59 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.16 + } + }, + "alpha_pct": -66.59 + }, + "test": { + "final_equity": 98992871, + "total_return_pct": -1.01, + "cagr_pct": -3.18, + "mdd_pct": 9.22, + "trades": 23, + "open_positions": 6, + "win_rate_pct": 21.7, + "profit_factor": 0.9, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.16 + } + }, + "alpha_pct": -53.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.0, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.86, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.91, + "trades": 30 + } + ], + "worst_ret": 2.91 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125145980, + "total_return_pct": 25.15, + "cagr_pct": 36.19, + "mdd_pct": 11.32, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 35.7, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.52 + } + }, + "alpha_pct": -69.95 + }, + "test": { + "final_equity": 100951773, + "total_return_pct": 0.95, + "cagr_pct": 3.07, + "mdd_pct": 12.11, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 15.8, + "profit_factor": 0.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.12 + } + }, + "alpha_pct": -51.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.26, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.82, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.24, + "trades": 27 + } + ], + "worst_ret": 2.82 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125145980, + "total_return_pct": 25.15, + "cagr_pct": 36.19, + "mdd_pct": 11.32, + "trades": 56, + "open_positions": 7, + "win_rate_pct": 35.7, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.52 + } + }, + "alpha_pct": -69.95 + }, + "test": { + "final_equity": 100951773, + "total_return_pct": 0.95, + "cagr_pct": 3.07, + "mdd_pct": 12.11, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 15.8, + "profit_factor": 0.6, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.88 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.12 + } + }, + "alpha_pct": -51.88 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.26, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.82, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 9.24, + "trades": 27 + } + ], + "worst_ret": 2.82 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147645832, + "total_return_pct": 47.65, + "cagr_pct": 71.01, + "mdd_pct": 11.56, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.02 + } + }, + "alpha_pct": -47.45 + }, + "test": { + "final_equity": 103561578, + "total_return_pct": 3.56, + "cagr_pct": 11.81, + "mdd_pct": 10.08, + "trades": 26, + "open_positions": 5, + "win_rate_pct": 26.9, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.73 + } + }, + "alpha_pct": -49.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.57, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.61, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.78, + "trades": 35 + } + ], + "worst_ret": 2.78 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147645832, + "total_return_pct": 47.65, + "cagr_pct": 71.01, + "mdd_pct": 11.56, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 31.2, + "profit_factor": 3.22, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -47.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.02 + } + }, + "alpha_pct": -47.45 + }, + "test": { + "final_equity": 103561578, + "total_return_pct": 3.56, + "cagr_pct": 11.81, + "mdd_pct": 10.08, + "trades": 26, + "open_positions": 5, + "win_rate_pct": 26.9, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.27 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.73 + } + }, + "alpha_pct": -49.27 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.57, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.61, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.78, + "trades": 35 + } + ], + "worst_ret": 2.78 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130422223, + "total_return_pct": 30.42, + "cagr_pct": 44.16, + "mdd_pct": 13.02, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 37.0, + "profit_factor": 2.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.25 + } + }, + "alpha_pct": -64.68 + }, + "test": { + "final_equity": 102596378, + "total_return_pct": 2.6, + "cagr_pct": 8.52, + "mdd_pct": 4.93, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.77 + } + }, + "alpha_pct": -50.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.43, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.41, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.75, + "trades": 25 + } + ], + "worst_ret": 2.75 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130422223, + "total_return_pct": 30.42, + "cagr_pct": 44.16, + "mdd_pct": 13.02, + "trades": 46, + "open_positions": 7, + "win_rate_pct": 37.0, + "profit_factor": 2.95, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.25 + } + }, + "alpha_pct": -64.68 + }, + "test": { + "final_equity": 102596378, + "total_return_pct": 2.6, + "cagr_pct": 8.52, + "mdd_pct": 4.93, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.22, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.77 + } + }, + "alpha_pct": -50.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.43, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 9.41, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.75, + "trades": 25 + } + ], + "worst_ret": 2.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136153796, + "total_return_pct": 36.15, + "cagr_pct": 52.96, + "mdd_pct": 11.66, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.52 + } + }, + "alpha_pct": -58.95 + }, + "test": { + "final_equity": 105160795, + "total_return_pct": 5.16, + "cagr_pct": 17.41, + "mdd_pct": 6.14, + "trades": 10, + "open_positions": 5, + "win_rate_pct": 30.0, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.33 + } + }, + "alpha_pct": -47.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.71, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.97, + "trades": 14 + } + ], + "worst_ret": 2.71 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136153796, + "total_return_pct": 36.15, + "cagr_pct": 52.96, + "mdd_pct": 11.66, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.52 + } + }, + "alpha_pct": -58.95 + }, + "test": { + "final_equity": 105160795, + "total_return_pct": 5.16, + "cagr_pct": 17.41, + "mdd_pct": 6.14, + "trades": 10, + "open_positions": 5, + "win_rate_pct": 30.0, + "profit_factor": 1.32, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.33 + } + }, + "alpha_pct": -47.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.71, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.97, + "trades": 14 + } + ], + "worst_ret": 2.71 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130361236, + "total_return_pct": 30.36, + "cagr_pct": 44.07, + "mdd_pct": 11.16, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 34.9, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.31 + } + }, + "alpha_pct": -64.74 + }, + "test": { + "final_equity": 98900037, + "total_return_pct": -1.1, + "cagr_pct": -3.47, + "mdd_pct": 9.23, + "trades": 22, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 0.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.07 + } + }, + "alpha_pct": -53.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.26, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.49, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.68, + "trades": 29 + } + ], + "worst_ret": 2.68 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130361236, + "total_return_pct": 30.36, + "cagr_pct": 44.07, + "mdd_pct": 11.16, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 34.9, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.74 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.31 + } + }, + "alpha_pct": -64.74 + }, + "test": { + "final_equity": 98900037, + "total_return_pct": -1.1, + "cagr_pct": -3.47, + "mdd_pct": 9.23, + "trades": 22, + "open_positions": 7, + "win_rate_pct": 18.2, + "profit_factor": 0.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.07 + } + }, + "alpha_pct": -53.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.26, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.49, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.68, + "trades": 29 + } + ], + "worst_ret": 2.68 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140378076, + "total_return_pct": 40.38, + "cagr_pct": 59.53, + "mdd_pct": 12.11, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 3.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.29 + } + }, + "alpha_pct": -54.72 + }, + "test": { + "final_equity": 97611518, + "total_return_pct": -2.39, + "cagr_pct": -7.42, + "mdd_pct": 9.4, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.78 + } + }, + "alpha_pct": -55.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.71, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.48, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.65, + "trades": 29 + } + ], + "worst_ret": 2.65 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140378076, + "total_return_pct": 40.38, + "cagr_pct": 59.53, + "mdd_pct": 12.11, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 3.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.72 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.29 + } + }, + "alpha_pct": -54.72 + }, + "test": { + "final_equity": 97611518, + "total_return_pct": -2.39, + "cagr_pct": -7.42, + "mdd_pct": 9.4, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.78 + } + }, + "alpha_pct": -55.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.71, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.48, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.65, + "trades": 29 + } + ], + "worst_ret": 2.65 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132156112, + "total_return_pct": 32.16, + "cagr_pct": 46.81, + "mdd_pct": 11.23, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 34.5, + "profit_factor": 2.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.51 + } + }, + "alpha_pct": -62.94 + }, + "test": { + "final_equity": 100074535, + "total_return_pct": 0.07, + "cagr_pct": 0.24, + "mdd_pct": 9.0, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.24 + } + }, + "alpha_pct": -52.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.16, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.47, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.15, + "trades": 23 + } + ], + "worst_ret": 2.47 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132156112, + "total_return_pct": 32.16, + "cagr_pct": 46.81, + "mdd_pct": 11.23, + "trades": 55, + "open_positions": 5, + "win_rate_pct": 34.5, + "profit_factor": 2.43, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.51 + } + }, + "alpha_pct": -62.94 + }, + "test": { + "final_equity": 100074535, + "total_return_pct": 0.07, + "cagr_pct": 0.24, + "mdd_pct": 9.0, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.24 + } + }, + "alpha_pct": -52.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.16, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.47, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.15, + "trades": 23 + } + ], + "worst_ret": 2.47 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130064901, + "total_return_pct": 30.06, + "cagr_pct": 43.62, + "mdd_pct": 11.17, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 40.3, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.04 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.61 + } + }, + "alpha_pct": -65.04 + }, + "test": { + "final_equity": 103834169, + "total_return_pct": 3.83, + "cagr_pct": 12.75, + "mdd_pct": 9.57, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 41.2, + "profit_factor": 1.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.0 + } + }, + "alpha_pct": -49.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.49, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.14, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.44, + "trades": 25 + } + ], + "worst_ret": 2.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130064901, + "total_return_pct": 30.06, + "cagr_pct": 43.62, + "mdd_pct": 11.17, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 40.3, + "profit_factor": 2.58, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.04 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.61 + } + }, + "alpha_pct": -65.04 + }, + "test": { + "final_equity": 103834169, + "total_return_pct": 3.83, + "cagr_pct": 12.75, + "mdd_pct": 9.57, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 41.2, + "profit_factor": 1.55, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.0 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.0 + } + }, + "alpha_pct": -49.0 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.49, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.14, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.44, + "trades": 25 + } + ], + "worst_ret": 2.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138429989, + "total_return_pct": 38.43, + "cagr_pct": 56.49, + "mdd_pct": 11.21, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.24 + } + }, + "alpha_pct": -56.67 + }, + "test": { + "final_equity": 99280893, + "total_return_pct": -0.72, + "cagr_pct": -2.28, + "mdd_pct": 7.9, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.45 + } + }, + "alpha_pct": -53.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.27, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.42, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.06, + "trades": 23 + } + ], + "worst_ret": 2.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138429989, + "total_return_pct": 38.43, + "cagr_pct": 56.49, + "mdd_pct": 11.21, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.24 + } + }, + "alpha_pct": -56.67 + }, + "test": { + "final_equity": 99280893, + "total_return_pct": -0.72, + "cagr_pct": -2.28, + "mdd_pct": 7.9, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.45 + } + }, + "alpha_pct": -53.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.27, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 2.42, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.06, + "trades": 23 + } + ], + "worst_ret": 2.42 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134745052, + "total_return_pct": 34.75, + "cagr_pct": 50.78, + "mdd_pct": 12.73, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 2.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.92 + } + }, + "alpha_pct": -60.35 + }, + "test": { + "final_equity": 105736112, + "total_return_pct": 5.74, + "cagr_pct": 19.47, + "mdd_pct": 7.74, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 1.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.09 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.91 + } + }, + "alpha_pct": -47.09 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.42, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.36, + "trades": 20 + } + ], + "worst_ret": 2.36 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134745052, + "total_return_pct": 34.75, + "cagr_pct": 50.78, + "mdd_pct": 12.73, + "trades": 65, + "open_positions": 8, + "win_rate_pct": 29.2, + "profit_factor": 2.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.92 + } + }, + "alpha_pct": -60.35 + }, + "test": { + "final_equity": 105736112, + "total_return_pct": 5.74, + "cagr_pct": 19.47, + "mdd_pct": 7.74, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 35.0, + "profit_factor": 1.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.09 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.91 + } + }, + "alpha_pct": -47.09 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.65, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 25.42, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.36, + "trades": 20 + } + ], + "worst_ret": 2.36 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142197029, + "total_return_pct": 42.2, + "cagr_pct": 62.38, + "mdd_pct": 12.14, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.47 + } + }, + "alpha_pct": -52.9 + }, + "test": { + "final_equity": 101674366, + "total_return_pct": 1.67, + "cagr_pct": 5.44, + "mdd_pct": 10.72, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.84 + } + }, + "alpha_pct": -51.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.61, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.16, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.11, + "trades": 37 + } + ], + "worst_ret": 2.11 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142197029, + "total_return_pct": 42.2, + "cagr_pct": 62.38, + "mdd_pct": 12.14, + "trades": 63, + "open_positions": 8, + "win_rate_pct": 31.7, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.47 + } + }, + "alpha_pct": -52.9 + }, + "test": { + "final_equity": 101674366, + "total_return_pct": 1.67, + "cagr_pct": 5.44, + "mdd_pct": 10.72, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.84 + } + }, + "alpha_pct": -51.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.61, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.16, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 2.11, + "trades": 37 + } + ], + "worst_ret": 2.11 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140991854, + "total_return_pct": 40.99, + "cagr_pct": 60.49, + "mdd_pct": 12.09, + "trades": 51, + "open_positions": 5, + "win_rate_pct": 43.1, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.68 + } + }, + "alpha_pct": -54.11 + }, + "test": { + "final_equity": 97238562, + "total_return_pct": -2.76, + "cagr_pct": -8.55, + "mdd_pct": 9.66, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.41 + } + }, + "alpha_pct": -55.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.01, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.75, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.95, + "trades": 28 + } + ], + "worst_ret": 1.95 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140991854, + "total_return_pct": 40.99, + "cagr_pct": 60.49, + "mdd_pct": 12.09, + "trades": 51, + "open_positions": 5, + "win_rate_pct": 43.1, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.68 + } + }, + "alpha_pct": -54.11 + }, + "test": { + "final_equity": 97238562, + "total_return_pct": -2.76, + "cagr_pct": -8.55, + "mdd_pct": 9.66, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.41 + } + }, + "alpha_pct": -55.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.01, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.75, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.95, + "trades": 28 + } + ], + "worst_ret": 1.95 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137970079, + "total_return_pct": 37.97, + "cagr_pct": 55.77, + "mdd_pct": 11.23, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.7 + } + }, + "alpha_pct": -57.13 + }, + "test": { + "final_equity": 100074535, + "total_return_pct": 0.07, + "cagr_pct": 0.24, + "mdd_pct": 9.0, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.24 + } + }, + "alpha_pct": -52.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.01, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 1.88, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.15, + "trades": 23 + } + ], + "worst_ret": 1.88 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137970079, + "total_return_pct": 37.97, + "cagr_pct": 55.77, + "mdd_pct": 11.23, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 38.9, + "profit_factor": 2.76, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.7 + } + }, + "alpha_pct": -57.13 + }, + "test": { + "final_equity": 100074535, + "total_return_pct": 0.07, + "cagr_pct": 0.24, + "mdd_pct": 9.0, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.76 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.24 + } + }, + "alpha_pct": -52.76 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.01, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 1.88, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 11.15, + "trades": 23 + } + ], + "worst_ret": 1.88 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141409635, + "total_return_pct": 41.41, + "cagr_pct": 61.15, + "mdd_pct": 12.19, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 31.9, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.26 + } + }, + "alpha_pct": -53.69 + }, + "test": { + "final_equity": 102385570, + "total_return_pct": 2.39, + "cagr_pct": 7.81, + "mdd_pct": 11.51, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.56 + } + }, + "alpha_pct": -50.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.34, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.54, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.86, + "trades": 36 + } + ], + "worst_ret": 1.86 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141409635, + "total_return_pct": 41.41, + "cagr_pct": 61.15, + "mdd_pct": 12.19, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 31.9, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.26 + } + }, + "alpha_pct": -53.69 + }, + "test": { + "final_equity": 102385570, + "total_return_pct": 2.39, + "cagr_pct": 7.81, + "mdd_pct": 11.51, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.44 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.56 + } + }, + "alpha_pct": -50.44 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.34, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.54, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.86, + "trades": 36 + } + ], + "worst_ret": 1.86 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141398199, + "total_return_pct": 41.4, + "cagr_pct": 61.13, + "mdd_pct": 11.27, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 41.5, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.27 + } + }, + "alpha_pct": -53.7 + }, + "test": { + "final_equity": 94441424, + "total_return_pct": -5.56, + "cagr_pct": -16.68, + "mdd_pct": 11.45, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.61 + } + }, + "alpha_pct": -58.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.35, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.29, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.85, + "trades": 31 + } + ], + "worst_ret": 1.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137351946, + "total_return_pct": 37.35, + "cagr_pct": 54.81, + "mdd_pct": 11.27, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 2.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.32 + } + }, + "alpha_pct": -57.75 + }, + "test": { + "final_equity": 94441424, + "total_return_pct": -5.56, + "cagr_pct": -16.68, + "mdd_pct": 11.45, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.61 + } + }, + "alpha_pct": -58.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.48, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.5, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.85, + "trades": 31 + } + ], + "worst_ret": 1.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141398199, + "total_return_pct": 41.4, + "cagr_pct": 61.13, + "mdd_pct": 11.27, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 41.5, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.27 + } + }, + "alpha_pct": -53.7 + }, + "test": { + "final_equity": 94441424, + "total_return_pct": -5.56, + "cagr_pct": -16.68, + "mdd_pct": 11.45, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.61 + } + }, + "alpha_pct": -58.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.35, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.29, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.85, + "trades": 31 + } + ], + "worst_ret": 1.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137351946, + "total_return_pct": 37.35, + "cagr_pct": 54.81, + "mdd_pct": 11.27, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 2.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.75 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.32 + } + }, + "alpha_pct": -57.75 + }, + "test": { + "final_equity": 94441424, + "total_return_pct": -5.56, + "cagr_pct": -16.68, + "mdd_pct": 11.45, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.61 + } + }, + "alpha_pct": -58.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.48, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.5, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.85, + "trades": 31 + } + ], + "worst_ret": 1.85 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134533176, + "total_return_pct": 34.53, + "cagr_pct": 50.45, + "mdd_pct": 13.02, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.14 + } + }, + "alpha_pct": -60.57 + }, + "test": { + "final_equity": 101819446, + "total_return_pct": 1.82, + "cagr_pct": 5.92, + "mdd_pct": 5.59, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.99 + } + }, + "alpha_pct": -51.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.47, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.98, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.82, + "trades": 25 + } + ], + "worst_ret": 1.82 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134533176, + "total_return_pct": 34.53, + "cagr_pct": 50.45, + "mdd_pct": 13.02, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.34, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.57 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.14 + } + }, + "alpha_pct": -60.57 + }, + "test": { + "final_equity": 101819446, + "total_return_pct": 1.82, + "cagr_pct": 5.92, + "mdd_pct": 5.59, + "trades": 16, + "open_positions": 4, + "win_rate_pct": 31.2, + "profit_factor": 1.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.01 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.99 + } + }, + "alpha_pct": -51.01 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.47, + "trades": 14 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.98, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.82, + "trades": 25 + } + ], + "worst_ret": 1.82 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 126724187, + "total_return_pct": 26.72, + "cagr_pct": 38.56, + "mdd_pct": 10.91, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 2.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.38 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.95 + } + }, + "alpha_pct": -68.38 + }, + "test": { + "final_equity": 102527185, + "total_return_pct": 2.53, + "cagr_pct": 8.29, + "mdd_pct": 4.37, + "trades": 12, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.7 + } + }, + "alpha_pct": -50.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.02, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 1.67, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.55, + "trades": 16 + } + ], + "worst_ret": 1.67 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 126724187, + "total_return_pct": 26.72, + "cagr_pct": 38.56, + "mdd_pct": 10.91, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 2.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.38 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.95 + } + }, + "alpha_pct": -68.38 + }, + "test": { + "final_equity": 102527185, + "total_return_pct": 2.53, + "cagr_pct": 8.29, + "mdd_pct": 4.37, + "trades": 12, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.7 + } + }, + "alpha_pct": -50.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.02, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 1.67, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.55, + "trades": 16 + } + ], + "worst_ret": 1.67 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134402204, + "total_return_pct": 34.4, + "cagr_pct": 50.25, + "mdd_pct": 14.77, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 28.2, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.27 + } + }, + "alpha_pct": -60.7 + }, + "test": { + "final_equity": 95235264, + "total_return_pct": -4.76, + "cagr_pct": -14.42, + "mdd_pct": 12.23, + "trades": 22, + "open_positions": 4, + "win_rate_pct": 18.2, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.41 + } + }, + "alpha_pct": -57.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.43, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.54, + "trades": 23 + } + ], + "worst_ret": 1.54 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134402204, + "total_return_pct": 34.4, + "cagr_pct": 50.25, + "mdd_pct": 14.77, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 28.2, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.27 + } + }, + "alpha_pct": -60.7 + }, + "test": { + "final_equity": 95235264, + "total_return_pct": -4.76, + "cagr_pct": -14.42, + "mdd_pct": 12.23, + "trades": 22, + "open_positions": 4, + "win_rate_pct": 18.2, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.41 + } + }, + "alpha_pct": -57.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.63, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.43, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.54, + "trades": 23 + } + ], + "worst_ret": 1.54 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146282533, + "total_return_pct": 46.28, + "cagr_pct": 68.84, + "mdd_pct": 12.11, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 31.1, + "profit_factor": 3.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.39 + } + }, + "alpha_pct": -48.82 + }, + "test": { + "final_equity": 100733886, + "total_return_pct": 0.73, + "cagr_pct": 2.36, + "mdd_pct": 12.57, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.9 + } + }, + "alpha_pct": -52.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.94, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.4, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.52, + "trades": 38 + } + ], + "worst_ret": 1.52 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146282533, + "total_return_pct": 46.28, + "cagr_pct": 68.84, + "mdd_pct": 12.11, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 31.1, + "profit_factor": 3.16, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.39 + } + }, + "alpha_pct": -48.82 + }, + "test": { + "final_equity": 100733886, + "total_return_pct": 0.73, + "cagr_pct": 2.36, + "mdd_pct": 12.57, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 21.4, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.1 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.9 + } + }, + "alpha_pct": -52.1 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.94, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.4, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.52, + "trades": 38 + } + ], + "worst_ret": 1.52 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132550804, + "total_return_pct": 32.55, + "cagr_pct": 47.41, + "mdd_pct": 11.05, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.12 + } + }, + "alpha_pct": -62.55 + }, + "test": { + "final_equity": 96407664, + "total_return_pct": -3.59, + "cagr_pct": -11.01, + "mdd_pct": 8.76, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.58 + } + }, + "alpha_pct": -56.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.14, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.44, + "trades": 29 + } + ], + "worst_ret": 1.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130043413, + "total_return_pct": 30.04, + "cagr_pct": 43.58, + "mdd_pct": 11.0, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.63 + } + }, + "alpha_pct": -65.06 + }, + "test": { + "final_equity": 96407664, + "total_return_pct": -3.59, + "cagr_pct": -11.01, + "mdd_pct": 8.76, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.58 + } + }, + "alpha_pct": -56.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.44, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.53, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.44, + "trades": 29 + } + ], + "worst_ret": 1.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132550804, + "total_return_pct": 32.55, + "cagr_pct": 47.41, + "mdd_pct": 11.05, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.55 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.12 + } + }, + "alpha_pct": -62.55 + }, + "test": { + "final_equity": 96407664, + "total_return_pct": -3.59, + "cagr_pct": -11.01, + "mdd_pct": 8.76, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.58 + } + }, + "alpha_pct": -56.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.14, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.44, + "trades": 29 + } + ], + "worst_ret": 1.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130043413, + "total_return_pct": 30.04, + "cagr_pct": 43.58, + "mdd_pct": 11.0, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 37.1, + "profit_factor": 2.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.63 + } + }, + "alpha_pct": -65.06 + }, + "test": { + "final_equity": 96407664, + "total_return_pct": -3.59, + "cagr_pct": -11.01, + "mdd_pct": 8.76, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 19.0, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.58 + } + }, + "alpha_pct": -56.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.44, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.53, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.44, + "trades": 29 + } + ], + "worst_ret": 1.44 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146323699, + "total_return_pct": 46.32, + "cagr_pct": 68.91, + "mdd_pct": 13.79, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.35 + } + }, + "alpha_pct": -48.78 + }, + "test": { + "final_equity": 101244204, + "total_return_pct": 1.24, + "cagr_pct": 4.02, + "mdd_pct": 10.83, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.41 + } + }, + "alpha_pct": -51.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.11, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.39, + "trades": 34 + } + ], + "worst_ret": 1.39 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 146323699, + "total_return_pct": 46.32, + "cagr_pct": 68.91, + "mdd_pct": 13.79, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.52, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.35 + } + }, + "alpha_pct": -48.78 + }, + "test": { + "final_equity": 101244204, + "total_return_pct": 1.24, + "cagr_pct": 4.02, + "mdd_pct": 10.83, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.06, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.41 + } + }, + "alpha_pct": -51.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.89, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.11, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.39, + "trades": 34 + } + ], + "worst_ret": 1.39 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142777273, + "total_return_pct": 42.78, + "cagr_pct": 63.3, + "mdd_pct": 13.79, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.89 + } + }, + "alpha_pct": -52.32 + }, + "test": { + "final_equity": 101165147, + "total_return_pct": 1.17, + "cagr_pct": 3.76, + "mdd_pct": 10.82, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.34 + } + }, + "alpha_pct": -51.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.57, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.29, + "trades": 34 + } + ], + "worst_ret": 1.29 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142777273, + "total_return_pct": 42.78, + "cagr_pct": 63.3, + "mdd_pct": 13.79, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.89 + } + }, + "alpha_pct": -52.32 + }, + "test": { + "final_equity": 101165147, + "total_return_pct": 1.17, + "cagr_pct": 3.76, + "mdd_pct": 10.82, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.34 + } + }, + "alpha_pct": -51.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.57, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.29, + "trades": 34 + } + ], + "worst_ret": 1.29 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143917721, + "total_return_pct": 43.92, + "cagr_pct": 65.09, + "mdd_pct": 13.87, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 37.3, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.18 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.75 + } + }, + "alpha_pct": -51.18 + }, + "test": { + "final_equity": 109060091, + "total_return_pct": 9.06, + "cagr_pct": 31.87, + "mdd_pct": 11.36, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 32.0, + "profit_factor": 1.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.23 + } + }, + "alpha_pct": -43.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.25, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.87, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.28, + "trades": 35 + } + ], + "worst_ret": 1.28 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 143917721, + "total_return_pct": 43.92, + "cagr_pct": 65.09, + "mdd_pct": 13.87, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 37.3, + "profit_factor": 2.89, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -51.18 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -3.75 + } + }, + "alpha_pct": -51.18 + }, + "test": { + "final_equity": 109060091, + "total_return_pct": 9.06, + "cagr_pct": 31.87, + "mdd_pct": 11.36, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 32.0, + "profit_factor": 1.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.77 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.23 + } + }, + "alpha_pct": -43.77 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.25, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.87, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.28, + "trades": 35 + } + ], + "worst_ret": 1.28 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129426724, + "total_return_pct": 29.43, + "cagr_pct": 42.65, + "mdd_pct": 11.1, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 35.2, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.24 + } + }, + "alpha_pct": -65.67 + }, + "test": { + "final_equity": 97274971, + "total_return_pct": -2.73, + "cagr_pct": -8.44, + "mdd_pct": 8.67, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.67, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.56 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.44 + } + }, + "alpha_pct": -55.56 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.13, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.23, + "trades": 23 + } + ], + "worst_ret": 1.23 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129426724, + "total_return_pct": 29.43, + "cagr_pct": 42.65, + "mdd_pct": 11.1, + "trades": 54, + "open_positions": 5, + "win_rate_pct": 35.2, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.67 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.24 + } + }, + "alpha_pct": -65.67 + }, + "test": { + "final_equity": 97274971, + "total_return_pct": -2.73, + "cagr_pct": -8.44, + "mdd_pct": 8.67, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.67, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.56 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.44 + } + }, + "alpha_pct": -55.56 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.13, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.23, + "trades": 23 + } + ], + "worst_ret": 1.23 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 126759263, + "total_return_pct": 26.76, + "cagr_pct": 38.61, + "mdd_pct": 11.07, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.91 + } + }, + "alpha_pct": -68.34 + }, + "test": { + "final_equity": 97093427, + "total_return_pct": -2.91, + "cagr_pct": -8.98, + "mdd_pct": 8.68, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.26 + } + }, + "alpha_pct": -55.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.88, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.19, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.18, + "trades": 23 + } + ], + "worst_ret": 1.18 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 126759263, + "total_return_pct": 26.76, + "cagr_pct": 38.61, + "mdd_pct": 11.07, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 36.8, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.34 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.91 + } + }, + "alpha_pct": -68.34 + }, + "test": { + "final_equity": 97093427, + "total_return_pct": -2.91, + "cagr_pct": -8.98, + "mdd_pct": 8.68, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 0.66, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.74 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.26 + } + }, + "alpha_pct": -55.74 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.88, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.19, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.18, + "trades": 23 + } + ], + "worst_ret": 1.18 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138055400, + "total_return_pct": 38.06, + "cagr_pct": 55.91, + "mdd_pct": 11.23, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 3.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.04 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.61 + } + }, + "alpha_pct": -57.04 + }, + "test": { + "final_equity": 100690807, + "total_return_pct": 0.69, + "cagr_pct": 2.22, + "mdd_pct": 8.85, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.14 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.86 + } + }, + "alpha_pct": -52.14 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.17, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.59, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.14, + "trades": 25 + } + ], + "worst_ret": 1.14 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135311675, + "total_return_pct": 35.31, + "cagr_pct": 51.65, + "mdd_pct": 11.17, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.36 + } + }, + "alpha_pct": -59.79 + }, + "test": { + "final_equity": 100690807, + "total_return_pct": 0.69, + "cagr_pct": 2.22, + "mdd_pct": 8.85, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.14 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.86 + } + }, + "alpha_pct": -52.14 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.25, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.13, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.14, + "trades": 25 + } + ], + "worst_ret": 1.14 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 138055400, + "total_return_pct": 38.06, + "cagr_pct": 55.91, + "mdd_pct": 11.23, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 3.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.04 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.61 + } + }, + "alpha_pct": -57.04 + }, + "test": { + "final_equity": 100690807, + "total_return_pct": 0.69, + "cagr_pct": 2.22, + "mdd_pct": 8.85, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.14 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.86 + } + }, + "alpha_pct": -52.14 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.17, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.59, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.14, + "trades": 25 + } + ], + "worst_ret": 1.14 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135311675, + "total_return_pct": 35.31, + "cagr_pct": 51.65, + "mdd_pct": 11.17, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -59.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.36 + } + }, + "alpha_pct": -59.79 + }, + "test": { + "final_equity": 100690807, + "total_return_pct": 0.69, + "cagr_pct": 2.22, + "mdd_pct": 8.85, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.14 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.86 + } + }, + "alpha_pct": -52.14 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.25, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 5.13, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.14, + "trades": 25 + } + ], + "worst_ret": 1.14 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149972803, + "total_return_pct": 49.97, + "cagr_pct": 74.73, + "mdd_pct": 12.1, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.3 + } + }, + "alpha_pct": -45.13 + }, + "test": { + "final_equity": 98591281, + "total_return_pct": -1.41, + "cagr_pct": -4.42, + "mdd_pct": 8.02, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 21.1, + "profit_factor": 0.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.76 + } + }, + "alpha_pct": -54.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.31, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.09, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.03, + "trades": 29 + } + ], + "worst_ret": 1.03 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149972803, + "total_return_pct": 49.97, + "cagr_pct": 74.73, + "mdd_pct": 12.1, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 38.3, + "profit_factor": 3.98, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.13 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 2.3 + } + }, + "alpha_pct": -45.13 + }, + "test": { + "final_equity": 98591281, + "total_return_pct": -1.41, + "cagr_pct": -4.42, + "mdd_pct": 8.02, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 21.1, + "profit_factor": 0.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.24 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.76 + } + }, + "alpha_pct": -54.24 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.31, + "trades": 19 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.09, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.03, + "trades": 29 + } + ], + "worst_ret": 1.03 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127643690, + "total_return_pct": 27.64, + "cagr_pct": 39.95, + "mdd_pct": 11.69, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 36.7, + "profit_factor": 2.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.03 + } + }, + "alpha_pct": -67.46 + }, + "test": { + "final_equity": 104595623, + "total_return_pct": 4.6, + "cagr_pct": 15.41, + "mdd_pct": 4.96, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 2.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.77 + } + }, + "alpha_pct": -48.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.98, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.08, + "trades": 18 + } + ], + "worst_ret": 0.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 127643690, + "total_return_pct": 27.64, + "cagr_pct": 39.95, + "mdd_pct": 11.69, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 36.7, + "profit_factor": 2.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.46 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.03 + } + }, + "alpha_pct": -67.46 + }, + "test": { + "final_equity": 104595623, + "total_return_pct": 4.6, + "cagr_pct": 15.41, + "mdd_pct": 4.96, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 2.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.77 + } + }, + "alpha_pct": -48.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.98, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.08, + "trades": 18 + } + ], + "worst_ret": 0.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125662003, + "total_return_pct": 25.66, + "cagr_pct": 36.96, + "mdd_pct": 11.77, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 32.7, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.01 + } + }, + "alpha_pct": -69.44 + }, + "test": { + "final_equity": 103897483, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.86, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.98, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.87, + "trades": 18 + } + ], + "worst_ret": 0.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125662003, + "total_return_pct": 25.66, + "cagr_pct": 36.96, + "mdd_pct": 11.77, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 32.7, + "profit_factor": 2.39, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.44 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.01 + } + }, + "alpha_pct": -69.44 + }, + "test": { + "final_equity": 103897483, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.86, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.98, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.87, + "trades": 18 + } + ], + "worst_ret": 0.98 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141331058, + "total_return_pct": 41.33, + "cagr_pct": 61.02, + "mdd_pct": 10.74, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.34 + } + }, + "alpha_pct": -53.77 + }, + "test": { + "final_equity": 101451759, + "total_return_pct": 1.45, + "cagr_pct": 4.7, + "mdd_pct": 10.84, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.62 + } + }, + "alpha_pct": -51.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.28, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.79, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.97, + "trades": 34 + } + ], + "worst_ret": 0.97 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141331058, + "total_return_pct": 41.33, + "cagr_pct": 61.02, + "mdd_pct": 10.74, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.4, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.34 + } + }, + "alpha_pct": -53.77 + }, + "test": { + "final_equity": 101451759, + "total_return_pct": 1.45, + "cagr_pct": 4.7, + "mdd_pct": 10.84, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.08, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.38 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.62 + } + }, + "alpha_pct": -51.38 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.28, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.79, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.97, + "trades": 34 + } + ], + "worst_ret": 0.97 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127191287, + "total_return_pct": 27.19, + "cagr_pct": 39.27, + "mdd_pct": 10.88, + "trades": 45, + "open_positions": 4, + "win_rate_pct": 37.8, + "profit_factor": 2.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.48 + } + }, + "alpha_pct": -67.91 + }, + "test": { + "final_equity": 101047558, + "total_return_pct": 1.05, + "cagr_pct": 3.38, + "mdd_pct": 4.81, + "trades": 12, + "open_positions": 3, + "win_rate_pct": 41.7, + "profit_factor": 1.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.22 + } + }, + "alpha_pct": -51.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.61, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.92, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.06, + "trades": 16 + } + ], + "worst_ret": 0.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127191287, + "total_return_pct": 27.19, + "cagr_pct": 39.27, + "mdd_pct": 10.88, + "trades": 45, + "open_positions": 4, + "win_rate_pct": 37.8, + "profit_factor": 2.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.91 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.48 + } + }, + "alpha_pct": -67.91 + }, + "test": { + "final_equity": 101047558, + "total_return_pct": 1.05, + "cagr_pct": 3.38, + "mdd_pct": 4.81, + "trades": 12, + "open_positions": 3, + "win_rate_pct": 41.7, + "profit_factor": 1.09, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.22 + } + }, + "alpha_pct": -51.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.61, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.92, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.06, + "trades": 16 + } + ], + "worst_ret": 0.92 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141808951, + "total_return_pct": 41.81, + "cagr_pct": 61.77, + "mdd_pct": 10.99, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.86 + } + }, + "alpha_pct": -53.29 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.66, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.92, + "trades": 21 + } + ], + "worst_ret": 0.92 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141808951, + "total_return_pct": 41.81, + "cagr_pct": 61.77, + "mdd_pct": 10.99, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 3.8, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.29 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.86 + } + }, + "alpha_pct": -53.29 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.66, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.92, + "trades": 21 + } + ], + "worst_ret": 0.92 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145180258, + "total_return_pct": 45.18, + "cagr_pct": 67.09, + "mdd_pct": 14.6, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 37.3, + "profit_factor": 3.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.49 + } + }, + "alpha_pct": -49.92 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.93, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.92, + "trades": 21 + } + ], + "worst_ret": 0.92 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145180258, + "total_return_pct": 45.18, + "cagr_pct": 67.09, + "mdd_pct": 14.6, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 37.3, + "profit_factor": 3.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.49 + } + }, + "alpha_pct": -49.92 + }, + "test": { + "final_equity": 96609835, + "total_return_pct": -3.39, + "cagr_pct": -10.42, + "mdd_pct": 10.19, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.22 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.78 + } + }, + "alpha_pct": -56.22 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.93, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.92, + "trades": 21 + } + ], + "worst_ret": 0.92 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125902389, + "total_return_pct": 25.9, + "cagr_pct": 37.33, + "mdd_pct": 10.95, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 39.1, + "profit_factor": 2.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.77 + } + }, + "alpha_pct": -69.2 + }, + "test": { + "final_equity": 100722139, + "total_return_pct": 0.72, + "cagr_pct": 2.32, + "mdd_pct": 5.05, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 46.2, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.89 + } + }, + "alpha_pct": -52.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.61, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.35, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.91, + "trades": 17 + } + ], + "worst_ret": 0.91 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125902389, + "total_return_pct": 25.9, + "cagr_pct": 37.33, + "mdd_pct": 10.95, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 39.1, + "profit_factor": 2.75, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.2 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.77 + } + }, + "alpha_pct": -69.2 + }, + "test": { + "final_equity": 100722139, + "total_return_pct": 0.72, + "cagr_pct": 2.32, + "mdd_pct": 5.05, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 46.2, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.11 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.89 + } + }, + "alpha_pct": -52.11 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.61, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 3.35, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.91, + "trades": 17 + } + ], + "worst_ret": 0.91 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142154479, + "total_return_pct": 42.15, + "cagr_pct": 62.32, + "mdd_pct": 10.74, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 43.6, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.52 + } + }, + "alpha_pct": -52.95 + }, + "test": { + "final_equity": 101359906, + "total_return_pct": 1.36, + "cagr_pct": 4.4, + "mdd_pct": 10.85, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.53 + } + }, + "alpha_pct": -51.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.46, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.26, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.87, + "trades": 34 + } + ], + "worst_ret": 0.87 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142154479, + "total_return_pct": 42.15, + "cagr_pct": 62.32, + "mdd_pct": 10.74, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 43.6, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.95 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.52 + } + }, + "alpha_pct": -52.95 + }, + "test": { + "final_equity": 101359906, + "total_return_pct": 1.36, + "cagr_pct": 4.4, + "mdd_pct": 10.85, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.47 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.53 + } + }, + "alpha_pct": -51.47 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.46, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.26, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.87, + "trades": 34 + } + ], + "worst_ret": 0.87 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127448260, + "total_return_pct": 27.45, + "cagr_pct": 39.65, + "mdd_pct": 11.33, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 36.7, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.22 + } + }, + "alpha_pct": -67.65 + }, + "test": { + "final_equity": 104035497, + "total_return_pct": 4.04, + "cagr_pct": 13.45, + "mdd_pct": 4.2, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.21 + } + }, + "alpha_pct": -48.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.81, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.75, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.81, + "trades": 18 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127448260, + "total_return_pct": 27.45, + "cagr_pct": 39.65, + "mdd_pct": 11.33, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 36.7, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -20.22 + } + }, + "alpha_pct": -67.65 + }, + "test": { + "final_equity": 104035497, + "total_return_pct": 4.04, + "cagr_pct": 13.45, + "mdd_pct": 4.2, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.21 + } + }, + "alpha_pct": -48.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.81, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.75, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.81, + "trades": 18 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125588692, + "total_return_pct": 25.59, + "cagr_pct": 36.85, + "mdd_pct": 11.4, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 32.7, + "profit_factor": 2.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.08 + } + }, + "alpha_pct": -69.51 + }, + "test": { + "final_equity": 103318321, + "total_return_pct": 3.32, + "cagr_pct": 10.97, + "mdd_pct": 4.1, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.49 + } + }, + "alpha_pct": -49.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.81, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.75, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.78, + "trades": 18 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125588692, + "total_return_pct": 25.59, + "cagr_pct": 36.85, + "mdd_pct": 11.4, + "trades": 49, + "open_positions": 4, + "win_rate_pct": 32.7, + "profit_factor": 2.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.08 + } + }, + "alpha_pct": -69.51 + }, + "test": { + "final_equity": 103318321, + "total_return_pct": 3.32, + "cagr_pct": 10.97, + "mdd_pct": 4.1, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.49 + } + }, + "alpha_pct": -49.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.81, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.75, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.78, + "trades": 18 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141787453, + "total_return_pct": 41.79, + "cagr_pct": 61.74, + "mdd_pct": 11.04, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 3.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.88 + } + }, + "alpha_pct": -53.31 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.01, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.75, + "trades": 21 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141787453, + "total_return_pct": 41.79, + "cagr_pct": 61.74, + "mdd_pct": 11.04, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 41.2, + "profit_factor": 3.91, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.31 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.88 + } + }, + "alpha_pct": -53.31 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.01, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.75, + "trades": 21 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145219885, + "total_return_pct": 45.22, + "cagr_pct": 67.15, + "mdd_pct": 14.65, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 37.3, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.45 + } + }, + "alpha_pct": -49.88 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.36, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.75, + "trades": 21 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145219885, + "total_return_pct": 45.22, + "cagr_pct": 67.15, + "mdd_pct": 14.65, + "trades": 51, + "open_positions": 6, + "win_rate_pct": 37.3, + "profit_factor": 3.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.88 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.45 + } + }, + "alpha_pct": -49.88 + }, + "test": { + "final_equity": 98146242, + "total_return_pct": -1.85, + "cagr_pct": -5.79, + "mdd_pct": 8.22, + "trades": 20, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.68 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.32 + } + }, + "alpha_pct": -54.68 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.64, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.36, + "trades": 7 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.75, + "trades": 21 + } + ], + "worst_ret": 0.75 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134105569, + "total_return_pct": 34.11, + "cagr_pct": 49.8, + "mdd_pct": 11.25, + "trades": 67, + "open_positions": 6, + "win_rate_pct": 43.3, + "profit_factor": 2.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.56 + } + }, + "alpha_pct": -60.99 + }, + "test": { + "final_equity": 102671865, + "total_return_pct": 2.67, + "cagr_pct": 8.77, + "mdd_pct": 10.48, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 1.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.84 + } + }, + "alpha_pct": -50.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.42, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.57, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.65, + "trades": 28 + } + ], + "worst_ret": 0.65 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134105569, + "total_return_pct": 34.11, + "cagr_pct": 49.8, + "mdd_pct": 11.25, + "trades": 67, + "open_positions": 6, + "win_rate_pct": 43.3, + "profit_factor": 2.62, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.56 + } + }, + "alpha_pct": -60.99 + }, + "test": { + "final_equity": 102671865, + "total_return_pct": 2.67, + "cagr_pct": 8.77, + "mdd_pct": 10.48, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 1.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.16 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.84 + } + }, + "alpha_pct": -50.16 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.42, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.57, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.65, + "trades": 28 + } + ], + "worst_ret": 0.65 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131335825, + "total_return_pct": 31.34, + "cagr_pct": 45.55, + "mdd_pct": 11.24, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 40.6, + "profit_factor": 2.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.33 + } + }, + "alpha_pct": -63.76 + }, + "test": { + "final_equity": 102616492, + "total_return_pct": 2.62, + "cagr_pct": 8.59, + "mdd_pct": 10.55, + "trades": 23, + "open_positions": 5, + "win_rate_pct": 34.8, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.79 + } + }, + "alpha_pct": -50.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.53, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.61, + "trades": 31 + } + ], + "worst_ret": 0.61 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131335825, + "total_return_pct": 31.34, + "cagr_pct": 45.55, + "mdd_pct": 11.24, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 40.6, + "profit_factor": 2.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.33 + } + }, + "alpha_pct": -63.76 + }, + "test": { + "final_equity": 102616492, + "total_return_pct": 2.62, + "cagr_pct": 8.59, + "mdd_pct": 10.55, + "trades": 23, + "open_positions": 5, + "win_rate_pct": 34.8, + "profit_factor": 1.35, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.79 + } + }, + "alpha_pct": -50.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 12.53, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.61, + "trades": 31 + } + ], + "worst_ret": 0.61 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125225797, + "total_return_pct": 25.23, + "cagr_pct": 36.31, + "mdd_pct": 10.86, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 40.3, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.44 + } + }, + "alpha_pct": -69.87 + }, + "test": { + "final_equity": 101876410, + "total_return_pct": 1.88, + "cagr_pct": 6.11, + "mdd_pct": 6.85, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 41.2, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.05 + } + }, + "alpha_pct": -50.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.17, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.11, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.59, + "trades": 25 + } + ], + "worst_ret": 0.59 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 125225797, + "total_return_pct": 25.23, + "cagr_pct": 36.31, + "mdd_pct": 10.86, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 40.3, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.44 + } + }, + "alpha_pct": -69.87 + }, + "test": { + "final_equity": 101876410, + "total_return_pct": 1.88, + "cagr_pct": 6.11, + "mdd_pct": 6.85, + "trades": 17, + "open_positions": 5, + "win_rate_pct": 41.2, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.95 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.05 + } + }, + "alpha_pct": -50.95 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.17, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.11, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.59, + "trades": 25 + } + ], + "worst_ret": 0.59 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135061381, + "total_return_pct": 35.06, + "cagr_pct": 51.27, + "mdd_pct": 11.38, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.04 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.61 + } + }, + "alpha_pct": -60.04 + }, + "test": { + "final_equity": 101440384, + "total_return_pct": 1.44, + "cagr_pct": 4.67, + "mdd_pct": 7.98, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 47.1, + "profit_factor": 1.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.61 + } + }, + "alpha_pct": -51.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.57, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.82, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.48, + "trades": 21 + } + ], + "worst_ret": 0.48 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135061381, + "total_return_pct": 35.06, + "cagr_pct": 51.27, + "mdd_pct": 11.38, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.7, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.04 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.61 + } + }, + "alpha_pct": -60.04 + }, + "test": { + "final_equity": 101440384, + "total_return_pct": 1.44, + "cagr_pct": 4.67, + "mdd_pct": 7.98, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 47.1, + "profit_factor": 1.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.39 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.61 + } + }, + "alpha_pct": -51.39 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.57, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.82, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.48, + "trades": 21 + } + ], + "worst_ret": 0.48 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 122621656, + "total_return_pct": 22.62, + "cagr_pct": 32.42, + "mdd_pct": 11.7, + "trades": 47, + "open_positions": 4, + "win_rate_pct": 34.0, + "profit_factor": 2.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -72.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -25.05 + } + }, + "alpha_pct": -72.48 + }, + "test": { + "final_equity": 103525478, + "total_return_pct": 3.53, + "cagr_pct": 11.69, + "mdd_pct": 5.86, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.7 + } + }, + "alpha_pct": -49.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.45, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.58, + "trades": 18 + } + ], + "worst_ret": 0.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 122621656, + "total_return_pct": 22.62, + "cagr_pct": 32.42, + "mdd_pct": 11.7, + "trades": 47, + "open_positions": 4, + "win_rate_pct": 34.0, + "profit_factor": 2.11, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -72.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -25.05 + } + }, + "alpha_pct": -72.48 + }, + "test": { + "final_equity": 103525478, + "total_return_pct": 3.53, + "cagr_pct": 11.69, + "mdd_pct": 5.86, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.56, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.3 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.7 + } + }, + "alpha_pct": -49.3 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.45, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.58, + "trades": 18 + } + ], + "worst_ret": 0.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135014261, + "total_return_pct": 35.01, + "cagr_pct": 51.2, + "mdd_pct": 11.35, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.66 + } + }, + "alpha_pct": -60.09 + }, + "test": { + "final_equity": 99988509, + "total_return_pct": -0.01, + "cagr_pct": -0.04, + "mdd_pct": 8.82, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.16 + } + }, + "alpha_pct": -52.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.29, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.13, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.44, + "trades": 25 + } + ], + "worst_ret": 0.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133620942, + "total_return_pct": 33.62, + "cagr_pct": 49.05, + "mdd_pct": 11.22, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.71, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.05 + } + }, + "alpha_pct": -61.48 + }, + "test": { + "final_equity": 99988509, + "total_return_pct": -0.01, + "cagr_pct": -0.04, + "mdd_pct": 8.82, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.16 + } + }, + "alpha_pct": -52.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.87, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.74, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.44, + "trades": 25 + } + ], + "worst_ret": 0.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 135014261, + "total_return_pct": 35.01, + "cagr_pct": 51.2, + "mdd_pct": 11.35, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.66 + } + }, + "alpha_pct": -60.09 + }, + "test": { + "final_equity": 99988509, + "total_return_pct": -0.01, + "cagr_pct": -0.04, + "mdd_pct": 8.82, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.16 + } + }, + "alpha_pct": -52.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.29, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.13, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.44, + "trades": 25 + } + ], + "worst_ret": 0.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133620942, + "total_return_pct": 33.62, + "cagr_pct": 49.05, + "mdd_pct": 11.22, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.71, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.48 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.05 + } + }, + "alpha_pct": -61.48 + }, + "test": { + "final_equity": 99988509, + "total_return_pct": -0.01, + "cagr_pct": -0.04, + "mdd_pct": 8.82, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.16 + } + }, + "alpha_pct": -52.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.87, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.74, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.44, + "trades": 25 + } + ], + "worst_ret": 0.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134084098, + "total_return_pct": 34.08, + "cagr_pct": 49.76, + "mdd_pct": 11.69, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 41.7, + "profit_factor": 3.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.59 + } + }, + "alpha_pct": -61.02 + }, + "test": { + "final_equity": 104595623, + "total_return_pct": 4.6, + "cagr_pct": 15.41, + "mdd_pct": 4.96, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 2.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.77 + } + }, + "alpha_pct": -48.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.08, + "trades": 18 + } + ], + "worst_ret": 0.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134084098, + "total_return_pct": 34.08, + "cagr_pct": 49.76, + "mdd_pct": 11.69, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 41.7, + "profit_factor": 3.19, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.59 + } + }, + "alpha_pct": -61.02 + }, + "test": { + "final_equity": 104595623, + "total_return_pct": 4.6, + "cagr_pct": 15.41, + "mdd_pct": 4.96, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 2.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.77 + } + }, + "alpha_pct": -48.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 7.08, + "trades": 18 + } + ], + "worst_ret": 0.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131932853, + "total_return_pct": 31.93, + "cagr_pct": 46.46, + "mdd_pct": 11.79, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.74 + } + }, + "alpha_pct": -63.17 + }, + "test": { + "final_equity": 103897483, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.86, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.87, + "trades": 18 + } + ], + "worst_ret": 0.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131932853, + "total_return_pct": 31.93, + "cagr_pct": 46.46, + "mdd_pct": 11.79, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.17 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.74 + } + }, + "alpha_pct": -63.17 + }, + "test": { + "final_equity": 103897483, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.86, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.74, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 5.87, + "trades": 18 + } + ], + "worst_ret": 0.42 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 120025341, + "total_return_pct": 20.03, + "cagr_pct": 28.58, + "mdd_pct": 10.94, + "trades": 47, + "open_positions": 4, + "win_rate_pct": 34.0, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -75.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -27.64 + } + }, + "alpha_pct": -75.07 + }, + "test": { + "final_equity": 101206225, + "total_return_pct": 1.21, + "cagr_pct": 3.9, + "mdd_pct": 4.61, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.38 + } + }, + "alpha_pct": -51.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.77, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.41, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.39, + "trades": 18 + } + ], + "worst_ret": 0.41 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 120025341, + "total_return_pct": 20.03, + "cagr_pct": 28.58, + "mdd_pct": 10.94, + "trades": 47, + "open_positions": 4, + "win_rate_pct": 34.0, + "profit_factor": 2.21, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -75.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -27.64 + } + }, + "alpha_pct": -75.07 + }, + "test": { + "final_equity": 101206225, + "total_return_pct": 1.21, + "cagr_pct": 3.9, + "mdd_pct": 4.61, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.62 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.38 + } + }, + "alpha_pct": -51.62 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.77, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.41, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 1.39, + "trades": 18 + } + ], + "worst_ret": 0.41 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145413756, + "total_return_pct": 45.41, + "cagr_pct": 67.46, + "mdd_pct": 13.82, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 43.4, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.26 + } + }, + "alpha_pct": -49.69 + }, + "test": { + "final_equity": 100160591, + "total_return_pct": 0.16, + "cagr_pct": 0.51, + "mdd_pct": 11.7, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 0.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.33 + } + }, + "alpha_pct": -52.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.28, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.37, + "trades": 29 + } + ], + "worst_ret": 0.37 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145413756, + "total_return_pct": 45.41, + "cagr_pct": 67.46, + "mdd_pct": 13.82, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 43.4, + "profit_factor": 3.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.26 + } + }, + "alpha_pct": -49.69 + }, + "test": { + "final_equity": 100160591, + "total_return_pct": 0.16, + "cagr_pct": 0.51, + "mdd_pct": 11.7, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 0.98, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.67 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.33 + } + }, + "alpha_pct": -52.67 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.28, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.37, + "trades": 29 + } + ], + "worst_ret": 0.37 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144825606, + "total_return_pct": 44.83, + "cagr_pct": 66.53, + "mdd_pct": 12.07, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.84 + } + }, + "alpha_pct": -50.27 + }, + "test": { + "final_equity": 97623232, + "total_return_pct": -2.38, + "cagr_pct": -7.39, + "mdd_pct": 8.52, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 0.69, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.79 + } + }, + "alpha_pct": -55.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.66, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.36, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.23, + "trades": 28 + } + ], + "worst_ret": 0.23 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 144825606, + "total_return_pct": 44.83, + "cagr_pct": 66.53, + "mdd_pct": 12.07, + "trades": 45, + "open_positions": 7, + "win_rate_pct": 40.0, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.84 + } + }, + "alpha_pct": -50.27 + }, + "test": { + "final_equity": 97623232, + "total_return_pct": -2.38, + "cagr_pct": -7.39, + "mdd_pct": 8.52, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 0.69, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.79 + } + }, + "alpha_pct": -55.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.66, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.36, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.23, + "trades": 28 + } + ], + "worst_ret": 0.23 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133894030, + "total_return_pct": 33.89, + "cagr_pct": 49.47, + "mdd_pct": 11.32, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 41.7, + "profit_factor": 3.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.78 + } + }, + "alpha_pct": -61.21 + }, + "test": { + "final_equity": 104035497, + "total_return_pct": 4.04, + "cagr_pct": 13.45, + "mdd_pct": 4.2, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.21 + } + }, + "alpha_pct": -48.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.77, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.2, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.81, + "trades": 18 + } + ], + "worst_ret": 0.2 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133894030, + "total_return_pct": 33.89, + "cagr_pct": 49.47, + "mdd_pct": 11.32, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 41.7, + "profit_factor": 3.36, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.21 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.78 + } + }, + "alpha_pct": -61.21 + }, + "test": { + "final_equity": 104035497, + "total_return_pct": 4.04, + "cagr_pct": 13.45, + "mdd_pct": 4.2, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.86, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.79 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.21 + } + }, + "alpha_pct": -48.79 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.77, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.2, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 4.81, + "trades": 18 + } + ], + "worst_ret": 0.2 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131860772, + "total_return_pct": 31.86, + "cagr_pct": 46.35, + "mdd_pct": 11.42, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 3.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.24 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.81 + } + }, + "alpha_pct": -63.24 + }, + "test": { + "final_equity": 103318321, + "total_return_pct": 3.32, + "cagr_pct": 10.97, + "mdd_pct": 4.1, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.49 + } + }, + "alpha_pct": -49.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.77, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.2, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.78, + "trades": 18 + } + ], + "worst_ret": 0.2 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131860772, + "total_return_pct": 31.86, + "cagr_pct": 46.35, + "mdd_pct": 11.42, + "trades": 48, + "open_positions": 4, + "win_rate_pct": 37.5, + "profit_factor": 3.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.24 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.81 + } + }, + "alpha_pct": -63.24 + }, + "test": { + "final_equity": 103318321, + "total_return_pct": 3.32, + "cagr_pct": 10.97, + "mdd_pct": 4.1, + "trades": 14, + "open_positions": 3, + "win_rate_pct": 35.7, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.51 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.49 + } + }, + "alpha_pct": -49.51 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.77, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 0.2, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 3.78, + "trades": 18 + } + ], + "worst_ret": 0.2 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141103435, + "total_return_pct": 41.1, + "cagr_pct": 60.66, + "mdd_pct": 13.27, + "trades": 72, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 3.08, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.0 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.57 + } + }, + "alpha_pct": -54.0 + }, + "test": { + "final_equity": 109240286, + "total_return_pct": 9.24, + "cagr_pct": 32.57, + "mdd_pct": 9.57, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 37.0, + "profit_factor": 1.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.41 + } + }, + "alpha_pct": -43.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.33, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.8, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.13, + "trades": 37 + } + ], + "worst_ret": 0.13 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141103435, + "total_return_pct": 41.1, + "cagr_pct": 60.66, + "mdd_pct": 13.27, + "trades": 72, + "open_positions": 7, + "win_rate_pct": 36.1, + "profit_factor": 3.08, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.0 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.57 + } + }, + "alpha_pct": -54.0 + }, + "test": { + "final_equity": 109240286, + "total_return_pct": 9.24, + "cagr_pct": 32.57, + "mdd_pct": 9.57, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 37.0, + "profit_factor": 1.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -43.59 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 23.41 + } + }, + "alpha_pct": -43.59 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.33, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 19.8, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.13, + "trades": 37 + } + ], + "worst_ret": 0.13 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146208835, + "total_return_pct": 46.21, + "cagr_pct": 68.72, + "mdd_pct": 13.88, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.89 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.46 + } + }, + "alpha_pct": -48.89 + }, + "test": { + "final_equity": 100796386, + "total_return_pct": 0.8, + "cagr_pct": 2.56, + "mdd_pct": 8.96, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.97 + } + }, + "alpha_pct": -52.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.39, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.13, + "trades": 34 + } + ], + "worst_ret": 0.13 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146208835, + "total_return_pct": 46.21, + "cagr_pct": 68.72, + "mdd_pct": 13.88, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.89 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -1.46 + } + }, + "alpha_pct": -48.89 + }, + "test": { + "final_equity": 100796386, + "total_return_pct": 0.8, + "cagr_pct": 2.56, + "mdd_pct": 8.96, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.97 + } + }, + "alpha_pct": -52.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.39, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.13, + "trades": 34 + } + ], + "worst_ret": 0.13 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142828963, + "total_return_pct": 42.83, + "cagr_pct": 63.38, + "mdd_pct": 13.88, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.84 + } + }, + "alpha_pct": -52.27 + }, + "test": { + "final_equity": 100703827, + "total_return_pct": 0.7, + "cagr_pct": 2.26, + "mdd_pct": 8.97, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.87 + } + }, + "alpha_pct": -52.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.71, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.84, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.05, + "trades": 34 + } + ], + "worst_ret": 0.05 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142828963, + "total_return_pct": 42.83, + "cagr_pct": 63.38, + "mdd_pct": 13.88, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 41.1, + "profit_factor": 3.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.27 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -4.84 + } + }, + "alpha_pct": -52.27 + }, + "test": { + "final_equity": 100703827, + "total_return_pct": 0.7, + "cagr_pct": 2.26, + "mdd_pct": 8.97, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.0, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.87 + } + }, + "alpha_pct": -52.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.71, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.84, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 0.05, + "trades": 34 + } + ], + "worst_ret": 0.05 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 128985302, + "total_return_pct": 28.99, + "cagr_pct": 41.98, + "mdd_pct": 11.66, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 2.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.68 + } + }, + "alpha_pct": -66.11 + }, + "test": { + "final_equity": 105138704, + "total_return_pct": 5.14, + "cagr_pct": 17.33, + "mdd_pct": 5.64, + "trades": 12, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.31 + } + }, + "alpha_pct": -47.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.97, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -0.01, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.92, + "trades": 16 + } + ], + "worst_ret": -0.01 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 128985302, + "total_return_pct": 28.99, + "cagr_pct": 41.98, + "mdd_pct": 11.66, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 2.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -66.11 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.68 + } + }, + "alpha_pct": -66.11 + }, + "test": { + "final_equity": 105138704, + "total_return_pct": 5.14, + "cagr_pct": 17.33, + "mdd_pct": 5.64, + "trades": 12, + "open_positions": 4, + "win_rate_pct": 25.0, + "profit_factor": 1.45, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.31 + } + }, + "alpha_pct": -47.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.97, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -0.01, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 15.92, + "trades": 16 + } + ], + "worst_ret": -0.01 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141582428, + "total_return_pct": 41.58, + "cagr_pct": 61.42, + "mdd_pct": 13.84, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 30.3, + "profit_factor": 2.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.09 + } + }, + "alpha_pct": -53.52 + }, + "test": { + "final_equity": 86662541, + "total_return_pct": -13.34, + "cagr_pct": -36.66, + "mdd_pct": 20.37, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 14.3, + "profit_factor": 0.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -66.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 0.83 + } + }, + "alpha_pct": -66.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.47, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.1, + "trades": 20 + } + ], + "worst_ret": -0.1 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141582428, + "total_return_pct": 41.58, + "cagr_pct": 61.42, + "mdd_pct": 13.84, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 30.3, + "profit_factor": 2.1, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.09 + } + }, + "alpha_pct": -53.52 + }, + "test": { + "final_equity": 86662541, + "total_return_pct": -13.34, + "cagr_pct": -36.66, + "mdd_pct": 20.37, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 14.3, + "profit_factor": 0.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -66.17 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 0.83 + } + }, + "alpha_pct": -66.17 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 30.47, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.1, + "trades": 20 + } + ], + "worst_ret": -0.1 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141405337, + "total_return_pct": 41.41, + "cagr_pct": 61.14, + "mdd_pct": 10.71, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.26 + } + }, + "alpha_pct": -53.69 + }, + "test": { + "final_equity": 101083064, + "total_return_pct": 1.08, + "cagr_pct": 3.5, + "mdd_pct": 9.02, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.25 + } + }, + "alpha_pct": -51.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.47, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.95, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.24, + "trades": 34 + } + ], + "worst_ret": -0.24 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141405337, + "total_return_pct": 41.41, + "cagr_pct": 61.14, + "mdd_pct": 10.71, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.5, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.69 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.26 + } + }, + "alpha_pct": -53.69 + }, + "test": { + "final_equity": 101083064, + "total_return_pct": 1.08, + "cagr_pct": 3.5, + "mdd_pct": 9.02, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.05, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.25 + } + }, + "alpha_pct": -51.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.47, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.95, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.24, + "trades": 34 + } + ], + "worst_ret": -0.24 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142030316, + "total_return_pct": 42.03, + "cagr_pct": 62.12, + "mdd_pct": 10.71, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 43.6, + "profit_factor": 3.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.64 + } + }, + "alpha_pct": -53.07 + }, + "test": { + "final_equity": 101015904, + "total_return_pct": 1.02, + "cagr_pct": 3.28, + "mdd_pct": 9.02, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.04, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.19 + } + }, + "alpha_pct": -51.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.61, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.41, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.33, + "trades": 34 + } + ], + "worst_ret": -0.33 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142030316, + "total_return_pct": 42.03, + "cagr_pct": 62.12, + "mdd_pct": 10.71, + "trades": 55, + "open_positions": 6, + "win_rate_pct": 43.6, + "profit_factor": 3.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.07 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.64 + } + }, + "alpha_pct": -53.07 + }, + "test": { + "final_equity": 101015904, + "total_return_pct": 1.02, + "cagr_pct": 3.28, + "mdd_pct": 9.02, + "trades": 22, + "open_positions": 5, + "win_rate_pct": 31.8, + "profit_factor": 1.04, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.19 + } + }, + "alpha_pct": -51.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.61, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.41, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.33, + "trades": 34 + } + ], + "worst_ret": -0.33 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127844068, + "total_return_pct": 27.84, + "cagr_pct": 40.25, + "mdd_pct": 11.03, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 40.6, + "profit_factor": 2.49, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.83 + } + }, + "alpha_pct": -67.26 + }, + "test": { + "final_equity": 101186404, + "total_return_pct": 1.19, + "cagr_pct": 3.83, + "mdd_pct": 7.24, + "trades": 23, + "open_positions": 5, + "win_rate_pct": 34.8, + "profit_factor": 1.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.36 + } + }, + "alpha_pct": -51.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.56, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.59, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.49, + "trades": 31 + } + ], + "worst_ret": -0.49 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 127844068, + "total_return_pct": 27.84, + "cagr_pct": 40.25, + "mdd_pct": 11.03, + "trades": 69, + "open_positions": 6, + "win_rate_pct": 40.6, + "profit_factor": 2.49, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -67.26 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -19.83 + } + }, + "alpha_pct": -67.26 + }, + "test": { + "final_equity": 101186404, + "total_return_pct": 1.19, + "cagr_pct": 3.83, + "mdd_pct": 7.24, + "trades": 23, + "open_positions": 5, + "win_rate_pct": 34.8, + "profit_factor": 1.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.64 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.36 + } + }, + "alpha_pct": -51.64 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.56, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.59, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.49, + "trades": 31 + } + ], + "worst_ret": -0.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144779331, + "total_return_pct": 44.78, + "cagr_pct": 66.46, + "mdd_pct": 13.83, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.89 + } + }, + "alpha_pct": -50.32 + }, + "test": { + "final_equity": 99306490, + "total_return_pct": -0.69, + "cagr_pct": -2.2, + "mdd_pct": 12.96, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.48 + } + }, + "alpha_pct": -53.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.26, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.84, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.49, + "trades": 31 + } + ], + "worst_ret": -0.49 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 144779331, + "total_return_pct": 44.78, + "cagr_pct": 66.46, + "mdd_pct": 13.83, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.24, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -50.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.89 + } + }, + "alpha_pct": -50.32 + }, + "test": { + "final_equity": 99306490, + "total_return_pct": -0.69, + "cagr_pct": -2.2, + "mdd_pct": 12.96, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.52 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.48 + } + }, + "alpha_pct": -53.52 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.26, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.84, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.49, + "trades": 31 + } + ], + "worst_ret": -0.49 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141591715, + "total_return_pct": 41.59, + "cagr_pct": 61.43, + "mdd_pct": 11.81, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 30.3, + "profit_factor": 2.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.08 + } + }, + "alpha_pct": -53.51 + }, + "test": { + "final_equity": 91047275, + "total_return_pct": -8.95, + "cagr_pct": -25.86, + "mdd_pct": 15.72, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 14.3, + "profit_factor": 0.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -61.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 5.22 + } + }, + "alpha_pct": -61.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.54, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.58, + "trades": 20 + } + ], + "worst_ret": -0.58 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141591715, + "total_return_pct": 41.59, + "cagr_pct": 61.43, + "mdd_pct": 11.81, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 30.3, + "profit_factor": 2.35, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.08 + } + }, + "alpha_pct": -53.51 + }, + "test": { + "final_equity": 91047275, + "total_return_pct": -8.95, + "cagr_pct": -25.86, + "mdd_pct": 15.72, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 14.3, + "profit_factor": 0.42, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -61.78 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 5.22 + } + }, + "alpha_pct": -61.78 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.42, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 29.54, + "trades": 15 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.58, + "trades": 20 + } + ], + "worst_ret": -0.58 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137738737, + "total_return_pct": 37.74, + "cagr_pct": 55.41, + "mdd_pct": 11.19, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 3.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.93 + } + }, + "alpha_pct": -57.36 + }, + "test": { + "final_equity": 100013058, + "total_return_pct": 0.01, + "cagr_pct": 0.04, + "mdd_pct": 7.76, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.18 + } + }, + "alpha_pct": -52.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.42, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.41, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.6, + "trades": 25 + } + ], + "worst_ret": -0.6 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134940872, + "total_return_pct": 34.94, + "cagr_pct": 51.08, + "mdd_pct": 11.14, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.73 + } + }, + "alpha_pct": -60.16 + }, + "test": { + "final_equity": 100013058, + "total_return_pct": 0.01, + "cagr_pct": 0.04, + "mdd_pct": 7.76, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.18 + } + }, + "alpha_pct": -52.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.54, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.97, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.6, + "trades": 25 + } + ], + "worst_ret": -0.6 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137738737, + "total_return_pct": 37.74, + "cagr_pct": 55.41, + "mdd_pct": 11.19, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 3.2, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.93 + } + }, + "alpha_pct": -57.36 + }, + "test": { + "final_equity": 100013058, + "total_return_pct": 0.01, + "cagr_pct": 0.04, + "mdd_pct": 7.76, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.18 + } + }, + "alpha_pct": -52.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.42, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.41, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.6, + "trades": 25 + } + ], + "worst_ret": -0.6 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134940872, + "total_return_pct": 34.94, + "cagr_pct": 51.08, + "mdd_pct": 11.14, + "trades": 58, + "open_positions": 4, + "win_rate_pct": 41.4, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.73 + } + }, + "alpha_pct": -60.16 + }, + "test": { + "final_equity": 100013058, + "total_return_pct": 0.01, + "cagr_pct": 0.04, + "mdd_pct": 7.76, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.18 + } + }, + "alpha_pct": -52.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.54, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.97, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.6, + "trades": 25 + } + ], + "worst_ret": -0.6 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130497515, + "total_return_pct": 30.5, + "cagr_pct": 44.27, + "mdd_pct": 11.03, + "trades": 67, + "open_positions": 6, + "win_rate_pct": 43.3, + "profit_factor": 2.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.17 + } + }, + "alpha_pct": -64.6 + }, + "test": { + "final_equity": 100784815, + "total_return_pct": 0.78, + "cagr_pct": 2.53, + "mdd_pct": 7.56, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 1.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.95 + } + }, + "alpha_pct": -52.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.13, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.54, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.84, + "trades": 28 + } + ], + "worst_ret": -0.84 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130497515, + "total_return_pct": 30.5, + "cagr_pct": 44.27, + "mdd_pct": 11.03, + "trades": 67, + "open_positions": 6, + "win_rate_pct": 43.3, + "profit_factor": 2.73, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.17 + } + }, + "alpha_pct": -64.6 + }, + "test": { + "final_equity": 100784815, + "total_return_pct": 0.78, + "cagr_pct": 2.53, + "mdd_pct": 7.56, + "trades": 20, + "open_positions": 5, + "win_rate_pct": 40.0, + "profit_factor": 1.14, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.05 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.95 + } + }, + "alpha_pct": -52.05 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.13, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.54, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -0.84, + "trades": 28 + } + ], + "worst_ret": -0.84 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129674621, + "total_return_pct": 29.67, + "cagr_pct": 43.02, + "mdd_pct": 11.62, + "trades": 45, + "open_positions": 4, + "win_rate_pct": 37.8, + "profit_factor": 2.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.0 + } + }, + "alpha_pct": -65.43 + }, + "test": { + "final_equity": 103176912, + "total_return_pct": 3.18, + "cagr_pct": 10.49, + "mdd_pct": 6.12, + "trades": 12, + "open_positions": 3, + "win_rate_pct": 41.7, + "profit_factor": 1.47, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.35 + } + }, + "alpha_pct": -49.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -0.85, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.84, + "trades": 16 + } + ], + "worst_ret": -0.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 129674621, + "total_return_pct": 29.67, + "cagr_pct": 43.02, + "mdd_pct": 11.62, + "trades": 45, + "open_positions": 4, + "win_rate_pct": 37.8, + "profit_factor": 2.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.0 + } + }, + "alpha_pct": -65.43 + }, + "test": { + "final_equity": 103176912, + "total_return_pct": 3.18, + "cagr_pct": 10.49, + "mdd_pct": 6.12, + "trades": 12, + "open_positions": 3, + "win_rate_pct": 41.7, + "profit_factor": 1.47, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.35 + } + }, + "alpha_pct": -49.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -0.85, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.84, + "trades": 16 + } + ], + "worst_ret": -0.85 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131112198, + "total_return_pct": 31.11, + "cagr_pct": 45.21, + "mdd_pct": 11.25, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 3.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.56 + } + }, + "alpha_pct": -63.99 + }, + "test": { + "final_equity": 103351481, + "total_return_pct": 3.35, + "cagr_pct": 11.09, + "mdd_pct": 4.1, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.52 + } + }, + "alpha_pct": -49.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.81, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -0.86, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.25, + "trades": 17 + } + ], + "worst_ret": -0.86 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131112198, + "total_return_pct": 31.11, + "cagr_pct": 45.21, + "mdd_pct": 11.25, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 3.14, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.99 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.56 + } + }, + "alpha_pct": -63.99 + }, + "test": { + "final_equity": 103351481, + "total_return_pct": 3.35, + "cagr_pct": 11.09, + "mdd_pct": 4.1, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.52 + } + }, + "alpha_pct": -49.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.81, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -0.86, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.25, + "trades": 17 + } + ], + "worst_ret": -0.86 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125129007, + "total_return_pct": 25.13, + "cagr_pct": 36.17, + "mdd_pct": 11.17, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 38.7, + "profit_factor": 2.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.54 + } + }, + "alpha_pct": -69.97 + }, + "test": { + "final_equity": 100270896, + "total_return_pct": 0.27, + "cagr_pct": 0.87, + "mdd_pct": 12.08, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.56 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.44 + } + }, + "alpha_pct": -52.56 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.02, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.18, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.01, + "trades": 29 + } + ], + "worst_ret": -1.01 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125129007, + "total_return_pct": 25.13, + "cagr_pct": 36.17, + "mdd_pct": 11.17, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 38.7, + "profit_factor": 2.27, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -22.54 + } + }, + "alpha_pct": -69.97 + }, + "test": { + "final_equity": 100270896, + "total_return_pct": 0.27, + "cagr_pct": 0.87, + "mdd_pct": 12.08, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.56 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.44 + } + }, + "alpha_pct": -52.56 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.02, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.18, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.01, + "trades": 29 + } + ], + "worst_ret": -1.01 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140244713, + "total_return_pct": 40.24, + "cagr_pct": 59.32, + "mdd_pct": 13.24, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 43.4, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.43 + } + }, + "alpha_pct": -54.86 + }, + "test": { + "final_equity": 99007100, + "total_return_pct": -0.99, + "cagr_pct": -3.13, + "mdd_pct": 8.25, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 0.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.18 + } + }, + "alpha_pct": -53.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.02, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.06, + "trades": 29 + } + ], + "worst_ret": -1.06 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140244713, + "total_return_pct": 40.24, + "cagr_pct": 59.32, + "mdd_pct": 13.24, + "trades": 53, + "open_positions": 6, + "win_rate_pct": 43.4, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.86 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.43 + } + }, + "alpha_pct": -54.86 + }, + "test": { + "final_equity": 99007100, + "total_return_pct": -0.99, + "cagr_pct": -3.13, + "mdd_pct": 8.25, + "trades": 19, + "open_positions": 6, + "win_rate_pct": 31.6, + "profit_factor": 0.83, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.82 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.18 + } + }, + "alpha_pct": -53.82 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.02, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.42, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.06, + "trades": 29 + } + ], + "worst_ret": -1.06 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145417248, + "total_return_pct": 45.42, + "cagr_pct": 67.47, + "mdd_pct": 13.94, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 3.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.25 + } + }, + "alpha_pct": -49.68 + }, + "test": { + "final_equity": 102599064, + "total_return_pct": 2.6, + "cagr_pct": 8.53, + "mdd_pct": 10.57, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.77 + } + }, + "alpha_pct": -50.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.69, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.6, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.12, + "trades": 41 + } + ], + "worst_ret": -1.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 145417248, + "total_return_pct": 45.42, + "cagr_pct": 67.47, + "mdd_pct": 13.94, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 3.0, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.68 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.25 + } + }, + "alpha_pct": -49.68 + }, + "test": { + "final_equity": 102599064, + "total_return_pct": 2.6, + "cagr_pct": 8.53, + "mdd_pct": 10.57, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.23, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.23 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.77 + } + }, + "alpha_pct": -50.23 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.69, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.6, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.12, + "trades": 41 + } + ], + "worst_ret": -1.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146722862, + "total_return_pct": 46.72, + "cagr_pct": 69.54, + "mdd_pct": 12.75, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.38 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.95 + } + }, + "alpha_pct": -48.38 + }, + "test": { + "final_equity": 100813565, + "total_return_pct": 0.81, + "cagr_pct": 2.62, + "mdd_pct": 12.14, + "trades": 29, + "open_positions": 6, + "win_rate_pct": 20.7, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.98 + } + }, + "alpha_pct": -52.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.11, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.29, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.12, + "trades": 41 + } + ], + "worst_ret": -1.12 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 146722862, + "total_return_pct": 46.72, + "cagr_pct": 69.54, + "mdd_pct": 12.75, + "trades": 67, + "open_positions": 8, + "win_rate_pct": 29.9, + "profit_factor": 2.85, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.38 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.95 + } + }, + "alpha_pct": -48.38 + }, + "test": { + "final_equity": 100813565, + "total_return_pct": 0.81, + "cagr_pct": 2.62, + "mdd_pct": 12.14, + "trades": 29, + "open_positions": 6, + "win_rate_pct": 20.7, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.98 + } + }, + "alpha_pct": -52.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.11, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.29, + "trades": 25 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.12, + "trades": 41 + } + ], + "worst_ret": -1.12 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131753928, + "total_return_pct": 31.75, + "cagr_pct": 46.19, + "mdd_pct": 11.15, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.92 + } + }, + "alpha_pct": -63.35 + }, + "test": { + "final_equity": 99771408, + "total_return_pct": -0.23, + "cagr_pct": -0.73, + "mdd_pct": 5.81, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 47.1, + "profit_factor": 0.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.94 + } + }, + "alpha_pct": -53.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.85, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.52, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.2, + "trades": 21 + } + ], + "worst_ret": -1.2 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131753928, + "total_return_pct": 31.75, + "cagr_pct": 46.19, + "mdd_pct": 11.15, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.92 + } + }, + "alpha_pct": -63.35 + }, + "test": { + "final_equity": 99771408, + "total_return_pct": -0.23, + "cagr_pct": -0.73, + "mdd_pct": 5.81, + "trades": 17, + "open_positions": 4, + "win_rate_pct": 47.1, + "profit_factor": 0.94, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.06 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.94 + } + }, + "alpha_pct": -53.06 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.85, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.52, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.2, + "trades": 21 + } + ], + "worst_ret": -1.2 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145318100, + "total_return_pct": 45.32, + "cagr_pct": 67.31, + "mdd_pct": 13.83, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 2.87, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.35 + } + }, + "alpha_pct": -49.78 + }, + "test": { + "final_equity": 104294635, + "total_return_pct": 4.29, + "cagr_pct": 14.35, + "mdd_pct": 14.07, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.46 + } + }, + "alpha_pct": -48.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.5, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.19, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.23, + "trades": 41 + } + ], + "worst_ret": -1.23 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 145318100, + "total_return_pct": 45.32, + "cagr_pct": 67.31, + "mdd_pct": 13.83, + "trades": 74, + "open_positions": 8, + "win_rate_pct": 33.8, + "profit_factor": 2.87, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -49.78 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -2.35 + } + }, + "alpha_pct": -49.78 + }, + "test": { + "final_equity": 104294635, + "total_return_pct": 4.29, + "cagr_pct": 14.35, + "mdd_pct": 14.07, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.36, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.46 + } + }, + "alpha_pct": -48.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.5, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.19, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.23, + "trades": 41 + } + ], + "worst_ret": -1.23 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131199043, + "total_return_pct": 31.2, + "cagr_pct": 45.34, + "mdd_pct": 11.62, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 2.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.47 + } + }, + "alpha_pct": -63.9 + }, + "test": { + "final_equity": 103895864, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.87, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.26, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.7, + "trades": 17 + } + ], + "worst_ret": -1.26 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131199043, + "total_return_pct": 31.2, + "cagr_pct": 45.34, + "mdd_pct": 11.62, + "trades": 43, + "open_positions": 4, + "win_rate_pct": 34.9, + "profit_factor": 2.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.9 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.47 + } + }, + "alpha_pct": -63.9 + }, + "test": { + "final_equity": 103895864, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.87, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.26, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.7, + "trades": 17 + } + ], + "worst_ret": -1.26 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134745497, + "total_return_pct": 34.75, + "cagr_pct": 50.78, + "mdd_pct": 11.3, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.92 + } + }, + "alpha_pct": -60.35 + }, + "test": { + "final_equity": 99293538, + "total_return_pct": -0.71, + "cagr_pct": -2.24, + "mdd_pct": 7.69, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.46 + } + }, + "alpha_pct": -53.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.52, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.05, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.31, + "trades": 25 + } + ], + "worst_ret": -1.31 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133233901, + "total_return_pct": 33.23, + "cagr_pct": 48.46, + "mdd_pct": 11.2, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.44 + } + }, + "alpha_pct": -61.87 + }, + "test": { + "final_equity": 99293538, + "total_return_pct": -0.71, + "cagr_pct": -2.24, + "mdd_pct": 7.69, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.46 + } + }, + "alpha_pct": -53.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.16, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.65, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.31, + "trades": 25 + } + ], + "worst_ret": -1.31 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 134745497, + "total_return_pct": 34.75, + "cagr_pct": 50.78, + "mdd_pct": 11.3, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 38.6, + "profit_factor": 2.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.35 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.92 + } + }, + "alpha_pct": -60.35 + }, + "test": { + "final_equity": 99293538, + "total_return_pct": -0.71, + "cagr_pct": -2.24, + "mdd_pct": 7.69, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.46 + } + }, + "alpha_pct": -53.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.52, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.05, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.31, + "trades": 25 + } + ], + "worst_ret": -1.31 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133233901, + "total_return_pct": 33.23, + "cagr_pct": 48.46, + "mdd_pct": 11.2, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.87 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.44 + } + }, + "alpha_pct": -61.87 + }, + "test": { + "final_equity": 99293538, + "total_return_pct": -0.71, + "cagr_pct": -2.24, + "mdd_pct": 7.69, + "trades": 21, + "open_positions": 4, + "win_rate_pct": 33.3, + "profit_factor": 0.92, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.54 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.46 + } + }, + "alpha_pct": -53.54 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.16, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 4.65, + "trades": 21 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.31, + "trades": 25 + } + ], + "worst_ret": -1.31 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137697099, + "total_return_pct": 37.7, + "cagr_pct": 55.35, + "mdd_pct": 10.82, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 2.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.97 + } + }, + "alpha_pct": -57.4 + }, + "test": { + "final_equity": 102172556, + "total_return_pct": 2.17, + "cagr_pct": 7.1, + "mdd_pct": 10.22, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.34 + } + }, + "alpha_pct": -50.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.7, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.87, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.38, + "trades": 42 + } + ], + "worst_ret": -1.38 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137697099, + "total_return_pct": 37.7, + "cagr_pct": 55.35, + "mdd_pct": 10.82, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 2.67, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.97 + } + }, + "alpha_pct": -57.4 + }, + "test": { + "final_equity": 102172556, + "total_return_pct": 2.17, + "cagr_pct": 7.1, + "mdd_pct": 10.22, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.2, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.34 + } + }, + "alpha_pct": -50.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.7, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.87, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.38, + "trades": 42 + } + ], + "worst_ret": -1.38 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 121517522, + "total_return_pct": 21.52, + "cagr_pct": 30.78, + "mdd_pct": 10.87, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 38.7, + "profit_factor": 2.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -73.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -26.15 + } + }, + "alpha_pct": -73.58 + }, + "test": { + "final_equity": 99913805, + "total_return_pct": -0.09, + "cagr_pct": -0.27, + "mdd_pct": 8.32, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.08 + } + }, + "alpha_pct": -52.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.81, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.23, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.39, + "trades": 29 + } + ], + "worst_ret": -1.39 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 121517522, + "total_return_pct": 21.52, + "cagr_pct": 30.78, + "mdd_pct": 10.87, + "trades": 62, + "open_positions": 7, + "win_rate_pct": 38.7, + "profit_factor": 2.3, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -73.58 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -26.15 + } + }, + "alpha_pct": -73.58 + }, + "test": { + "final_equity": 99913805, + "total_return_pct": -0.09, + "cagr_pct": -0.27, + "mdd_pct": 8.32, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 1.01, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -52.92 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 14.08 + } + }, + "alpha_pct": -52.92 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.81, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.23, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.39, + "trades": 29 + } + ], + "worst_ret": -1.39 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137590626, + "total_return_pct": 37.59, + "cagr_pct": 55.18, + "mdd_pct": 11.25, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.08 + } + }, + "alpha_pct": -57.51 + }, + "test": { + "final_equity": 103351481, + "total_return_pct": 3.35, + "cagr_pct": 11.09, + "mdd_pct": 4.1, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.52 + } + }, + "alpha_pct": -49.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.77, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.41, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.25, + "trades": 17 + } + ], + "worst_ret": -1.41 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 137590626, + "total_return_pct": 37.59, + "cagr_pct": 55.18, + "mdd_pct": 11.25, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.08 + } + }, + "alpha_pct": -57.51 + }, + "test": { + "final_equity": 103351481, + "total_return_pct": 3.35, + "cagr_pct": 11.09, + "mdd_pct": 4.1, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.59, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.48 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.52 + } + }, + "alpha_pct": -49.48 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.77, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.41, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 10.25, + "trades": 17 + } + ], + "worst_ret": -1.41 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140170934, + "total_return_pct": 40.17, + "cagr_pct": 59.2, + "mdd_pct": 13.28, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 37.3, + "profit_factor": 3.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.5 + } + }, + "alpha_pct": -54.93 + }, + "test": { + "final_equity": 103500068, + "total_return_pct": 3.5, + "cagr_pct": 11.6, + "mdd_pct": 8.33, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 32.0, + "profit_factor": 1.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.33 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.67 + } + }, + "alpha_pct": -49.33 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.77, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.0, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.43, + "trades": 35 + } + ], + "worst_ret": -1.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140170934, + "total_return_pct": 40.17, + "cagr_pct": 59.2, + "mdd_pct": 13.28, + "trades": 67, + "open_positions": 7, + "win_rate_pct": 37.3, + "profit_factor": 3.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.93 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.5 + } + }, + "alpha_pct": -54.93 + }, + "test": { + "final_equity": 103500068, + "total_return_pct": 3.5, + "cagr_pct": 11.6, + "mdd_pct": 8.33, + "trades": 25, + "open_positions": 7, + "win_rate_pct": 32.0, + "profit_factor": 1.43, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.33 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.67 + } + }, + "alpha_pct": -49.33 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.77, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.0, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.43, + "trades": 35 + } + ], + "worst_ret": -1.43 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142313503, + "total_return_pct": 42.31, + "cagr_pct": 62.57, + "mdd_pct": 13.63, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.36 + } + }, + "alpha_pct": -52.79 + }, + "test": { + "final_equity": 103990556, + "total_return_pct": 3.99, + "cagr_pct": 13.29, + "mdd_pct": 10.11, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.16 + } + }, + "alpha_pct": -48.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.52, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.89, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.63, + "trades": 38 + } + ], + "worst_ret": -1.63 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 142313503, + "total_return_pct": 42.31, + "cagr_pct": 62.57, + "mdd_pct": 13.63, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 3.15, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.79 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.36 + } + }, + "alpha_pct": -52.79 + }, + "test": { + "final_equity": 103990556, + "total_return_pct": 3.99, + "cagr_pct": 13.29, + "mdd_pct": 10.11, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.16 + } + }, + "alpha_pct": -48.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.52, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.89, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.63, + "trades": 38 + } + ], + "worst_ret": -1.63 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131936926, + "total_return_pct": 31.94, + "cagr_pct": 46.47, + "mdd_pct": 11.26, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.49, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.73 + } + }, + "alpha_pct": -63.16 + }, + "test": { + "final_equity": 99618261, + "total_return_pct": -0.38, + "cagr_pct": -1.21, + "mdd_pct": 9.62, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 35.0, + "profit_factor": 0.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.79 + } + }, + "alpha_pct": -53.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.88, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.79, + "trades": 24 + } + ], + "worst_ret": -1.79 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 131936926, + "total_return_pct": 31.94, + "cagr_pct": 46.47, + "mdd_pct": 11.26, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.49, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.16 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.73 + } + }, + "alpha_pct": -63.16 + }, + "test": { + "final_equity": 99618261, + "total_return_pct": -0.38, + "cagr_pct": -1.21, + "mdd_pct": 9.62, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 35.0, + "profit_factor": 0.99, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -53.21 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 13.79 + } + }, + "alpha_pct": -53.21 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.12, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.88, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.79, + "trades": 24 + } + ], + "worst_ret": -1.79 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137710483, + "total_return_pct": 37.71, + "cagr_pct": 55.37, + "mdd_pct": 11.62, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.39 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.96 + } + }, + "alpha_pct": -57.39 + }, + "test": { + "final_equity": 103895864, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.87, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.82, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.7, + "trades": 17 + } + ], + "worst_ret": -1.82 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137710483, + "total_return_pct": 37.71, + "cagr_pct": 55.37, + "mdd_pct": 11.62, + "trades": 42, + "open_positions": 4, + "win_rate_pct": 40.5, + "profit_factor": 3.6, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.39 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.96 + } + }, + "alpha_pct": -57.39 + }, + "test": { + "final_equity": 103895864, + "total_return_pct": 3.9, + "cagr_pct": 12.97, + "mdd_pct": 4.87, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.07 + } + }, + "alpha_pct": -48.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.67, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.82, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.7, + "trades": 17 + } + ], + "worst_ret": -1.82 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141649807, + "total_return_pct": 41.65, + "cagr_pct": 61.52, + "mdd_pct": 13.63, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.02 + } + }, + "alpha_pct": -53.45 + }, + "test": { + "final_equity": 102367925, + "total_return_pct": 2.37, + "cagr_pct": 7.75, + "mdd_pct": 10.62, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.54 + } + }, + "alpha_pct": -50.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.36, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.27, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.91, + "trades": 38 + } + ], + "worst_ret": -1.91 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141649807, + "total_return_pct": 41.65, + "cagr_pct": 61.52, + "mdd_pct": 13.63, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.45 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.02 + } + }, + "alpha_pct": -53.45 + }, + "test": { + "final_equity": 102367925, + "total_return_pct": 2.37, + "cagr_pct": 7.75, + "mdd_pct": 10.62, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 1.12, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.46 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.54 + } + }, + "alpha_pct": -50.46 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.36, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.27, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.91, + "trades": 38 + } + ], + "worst_ret": -1.91 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 121275970, + "total_return_pct": 21.28, + "cagr_pct": 30.43, + "mdd_pct": 10.89, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 32.6, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -73.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -26.39 + } + }, + "alpha_pct": -73.82 + }, + "test": { + "final_equity": 101515620, + "total_return_pct": 1.52, + "cagr_pct": 4.92, + "mdd_pct": 4.37, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.31 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.69 + } + }, + "alpha_pct": -51.31 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.77, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.93, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.51, + "trades": 17 + } + ], + "worst_ret": -1.93 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 121275970, + "total_return_pct": 21.28, + "cagr_pct": 30.43, + "mdd_pct": 10.89, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 32.6, + "profit_factor": 2.29, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -73.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -26.39 + } + }, + "alpha_pct": -73.82 + }, + "test": { + "final_equity": 101515620, + "total_return_pct": 1.52, + "cagr_pct": 4.92, + "mdd_pct": 4.37, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.31 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.69 + } + }, + "alpha_pct": -51.31 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 4.77, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -1.93, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 6.51, + "trades": 17 + } + ], + "worst_ret": -1.93 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140573136, + "total_return_pct": 40.57, + "cagr_pct": 59.83, + "mdd_pct": 13.24, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.1 + } + }, + "alpha_pct": -54.53 + }, + "test": { + "final_equity": 98080079, + "total_return_pct": -1.92, + "cagr_pct": -6.0, + "mdd_pct": 9.63, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.25 + } + }, + "alpha_pct": -54.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.43, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.86, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.99, + "trades": 31 + } + ], + "worst_ret": -1.99 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 140573136, + "total_return_pct": 40.57, + "cagr_pct": 59.83, + "mdd_pct": 13.24, + "trades": 56, + "open_positions": 6, + "win_rate_pct": 42.9, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -54.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -7.1 + } + }, + "alpha_pct": -54.53 + }, + "test": { + "final_equity": 98080079, + "total_return_pct": -1.92, + "cagr_pct": -6.0, + "mdd_pct": 9.63, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 28.6, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.25 + } + }, + "alpha_pct": -54.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.43, + "trades": 20 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 13.86, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -1.99, + "trades": 31 + } + ], + "worst_ret": -1.99 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141497947, + "total_return_pct": 41.5, + "cagr_pct": 61.28, + "mdd_pct": 11.22, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 41.5, + "profit_factor": 2.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.17 + } + }, + "alpha_pct": -53.6 + }, + "test": { + "final_equity": 95566093, + "total_return_pct": -4.43, + "cagr_pct": -13.47, + "mdd_pct": 9.77, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.74 + } + }, + "alpha_pct": -57.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.38, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.36, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.04, + "trades": 31 + } + ], + "worst_ret": -2.04 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138343163, + "total_return_pct": 38.34, + "cagr_pct": 56.35, + "mdd_pct": 11.24, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.33 + } + }, + "alpha_pct": -56.76 + }, + "test": { + "final_equity": 95566093, + "total_return_pct": -4.43, + "cagr_pct": -13.47, + "mdd_pct": 9.77, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.74 + } + }, + "alpha_pct": -57.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.51, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.48, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.04, + "trades": 31 + } + ], + "worst_ret": -2.04 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141497947, + "total_return_pct": 41.5, + "cagr_pct": 61.28, + "mdd_pct": 11.22, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 41.5, + "profit_factor": 2.93, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -6.17 + } + }, + "alpha_pct": -53.6 + }, + "test": { + "final_equity": 95566093, + "total_return_pct": -4.43, + "cagr_pct": -13.47, + "mdd_pct": 9.77, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.74 + } + }, + "alpha_pct": -57.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.38, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.36, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.04, + "trades": 31 + } + ], + "worst_ret": -2.04 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138343163, + "total_return_pct": 38.34, + "cagr_pct": 56.35, + "mdd_pct": 11.24, + "trades": 65, + "open_positions": 7, + "win_rate_pct": 38.5, + "profit_factor": 2.72, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.76 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.33 + } + }, + "alpha_pct": -56.76 + }, + "test": { + "final_equity": 95566093, + "total_return_pct": -4.43, + "cagr_pct": -13.47, + "mdd_pct": 9.77, + "trades": 24, + "open_positions": 5, + "win_rate_pct": 20.8, + "profit_factor": 0.68, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.74 + } + }, + "alpha_pct": -57.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.51, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.48, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.04, + "trades": 31 + } + ], + "worst_ret": -2.04 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137685827, + "total_return_pct": 37.69, + "cagr_pct": 55.33, + "mdd_pct": 10.85, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.98 + } + }, + "alpha_pct": -57.41 + }, + "test": { + "final_equity": 103084469, + "total_return_pct": 3.08, + "cagr_pct": 10.18, + "mdd_pct": 13.82, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.25 + } + }, + "alpha_pct": -49.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.5, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.48, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.05, + "trades": 42 + } + ], + "worst_ret": -2.05 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137685827, + "total_return_pct": 37.69, + "cagr_pct": 55.33, + "mdd_pct": 10.85, + "trades": 76, + "open_positions": 8, + "win_rate_pct": 35.5, + "profit_factor": 2.56, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.41 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.98 + } + }, + "alpha_pct": -57.41 + }, + "test": { + "final_equity": 103084469, + "total_return_pct": 3.08, + "cagr_pct": 10.18, + "mdd_pct": 13.82, + "trades": 27, + "open_positions": 8, + "win_rate_pct": 29.6, + "profit_factor": 1.3, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.25 + } + }, + "alpha_pct": -49.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.5, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.48, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.05, + "trades": 42 + } + ], + "worst_ret": -2.05 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142573561, + "total_return_pct": 42.57, + "cagr_pct": 62.97, + "mdd_pct": 13.56, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 3.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.1 + } + }, + "alpha_pct": -52.53 + }, + "test": { + "final_equity": 106916186, + "total_return_pct": 6.92, + "cagr_pct": 23.78, + "mdd_pct": 12.41, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.09 + } + }, + "alpha_pct": -45.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.45, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.52, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.7, + "trades": 38 + } + ], + "worst_ret": -2.7 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142573561, + "total_return_pct": 42.57, + "cagr_pct": 62.97, + "mdd_pct": 13.56, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 3.04, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.53 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.1 + } + }, + "alpha_pct": -52.53 + }, + "test": { + "final_equity": 106916186, + "total_return_pct": 6.92, + "cagr_pct": 23.78, + "mdd_pct": 12.41, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -45.91 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 21.09 + } + }, + "alpha_pct": -45.91 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 14.45, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 15.52, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -2.7, + "trades": 38 + } + ], + "worst_ret": -2.7 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156847148, + "total_return_pct": 56.85, + "cagr_pct": 85.86, + "mdd_pct": 13.84, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 3.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.18 + } + }, + "alpha_pct": -38.25 + }, + "test": { + "final_equity": 104173186, + "total_return_pct": 4.17, + "cagr_pct": 13.93, + "mdd_pct": 13.05, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.33, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.34 + } + }, + "alpha_pct": -48.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.09, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.79, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.04, + "trades": 42 + } + ], + "worst_ret": -3.04 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 156847148, + "total_return_pct": 56.85, + "cagr_pct": 85.86, + "mdd_pct": 13.84, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 3.63, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.25 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.18 + } + }, + "alpha_pct": -38.25 + }, + "test": { + "final_equity": 104173186, + "total_return_pct": 4.17, + "cagr_pct": 13.93, + "mdd_pct": 13.05, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.33, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -48.66 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 18.34 + } + }, + "alpha_pct": -48.66 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.09, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.79, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.04, + "trades": 42 + } + ], + "worst_ret": -3.04 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141704211, + "total_return_pct": 41.7, + "cagr_pct": 61.61, + "mdd_pct": 13.56, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.97 + } + }, + "alpha_pct": -53.4 + }, + "test": { + "final_equity": 105641923, + "total_return_pct": 5.64, + "cagr_pct": 19.13, + "mdd_pct": 13.84, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.81 + } + }, + "alpha_pct": -47.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.05, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.91, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.09, + "trades": 38 + } + ], + "worst_ret": -3.09 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 141704211, + "total_return_pct": 41.7, + "cagr_pct": 61.61, + "mdd_pct": 13.56, + "trades": 64, + "open_positions": 8, + "win_rate_pct": 34.4, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.97 + } + }, + "alpha_pct": -53.4 + }, + "test": { + "final_equity": 105641923, + "total_return_pct": 5.64, + "cagr_pct": 19.13, + "mdd_pct": 13.84, + "trades": 28, + "open_positions": 6, + "win_rate_pct": 25.0, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.19 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.81 + } + }, + "alpha_pct": -47.19 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 15.05, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 14.91, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.09, + "trades": 38 + } + ], + "worst_ret": -3.09 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129142884, + "total_return_pct": 29.14, + "cagr_pct": 42.22, + "mdd_pct": 11.08, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.53 + } + }, + "alpha_pct": -65.96 + }, + "test": { + "final_equity": 97885200, + "total_return_pct": -2.11, + "cagr_pct": -6.59, + "mdd_pct": 7.6, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 35.0, + "profit_factor": 0.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.06 + } + }, + "alpha_pct": -54.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.59, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.48, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.26, + "trades": 24 + } + ], + "worst_ret": -3.26 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129142884, + "total_return_pct": 29.14, + "cagr_pct": 42.22, + "mdd_pct": 11.08, + "trades": 57, + "open_positions": 4, + "win_rate_pct": 40.4, + "profit_factor": 2.61, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.96 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.53 + } + }, + "alpha_pct": -65.96 + }, + "test": { + "final_equity": 97885200, + "total_return_pct": -2.11, + "cagr_pct": -6.59, + "mdd_pct": 7.6, + "trades": 20, + "open_positions": 4, + "win_rate_pct": 35.0, + "profit_factor": 0.73, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -54.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 12.06 + } + }, + "alpha_pct": -54.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.59, + "trades": 21 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 8.48, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.26, + "trades": 24 + } + ], + "worst_ret": -3.26 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133036073, + "total_return_pct": 33.04, + "cagr_pct": 48.15, + "mdd_pct": 11.0, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 43.8, + "profit_factor": 3.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.63 + } + }, + "alpha_pct": -62.06 + }, + "test": { + "final_equity": 97568143, + "total_return_pct": -2.43, + "cagr_pct": -7.55, + "mdd_pct": 8.4, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.74 + } + }, + "alpha_pct": -55.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.98, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.45, + "trades": 29 + } + ], + "worst_ret": -3.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129325493, + "total_return_pct": 29.33, + "cagr_pct": 42.49, + "mdd_pct": 10.99, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.34 + } + }, + "alpha_pct": -65.77 + }, + "test": { + "final_equity": 97568143, + "total_return_pct": -2.43, + "cagr_pct": -7.55, + "mdd_pct": 8.4, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.74 + } + }, + "alpha_pct": -55.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.44, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.73, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.45, + "trades": 29 + } + ], + "worst_ret": -3.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133036073, + "total_return_pct": 33.04, + "cagr_pct": 48.15, + "mdd_pct": 11.0, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 43.8, + "profit_factor": 3.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.63 + } + }, + "alpha_pct": -62.06 + }, + "test": { + "final_equity": 97568143, + "total_return_pct": -2.43, + "cagr_pct": -7.55, + "mdd_pct": 8.4, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.74 + } + }, + "alpha_pct": -55.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.98, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.45, + "trades": 29 + } + ], + "worst_ret": -3.45 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 129325493, + "total_return_pct": 29.33, + "cagr_pct": 42.49, + "mdd_pct": 10.99, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.77 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -18.34 + } + }, + "alpha_pct": -65.77 + }, + "test": { + "final_equity": 97568143, + "total_return_pct": -2.43, + "cagr_pct": -7.55, + "mdd_pct": 8.4, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.8, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.26 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.74 + } + }, + "alpha_pct": -55.26 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.44, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.73, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.45, + "trades": 29 + } + ], + "worst_ret": -3.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136699036, + "total_return_pct": 36.7, + "cagr_pct": 53.8, + "mdd_pct": 11.02, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.97 + } + }, + "alpha_pct": -58.4 + }, + "test": { + "final_equity": 103550802, + "total_return_pct": 3.55, + "cagr_pct": 11.77, + "mdd_pct": 9.76, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.72 + } + }, + "alpha_pct": -49.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.11, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.22, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.53, + "trades": 39 + } + ], + "worst_ret": -3.53 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136699036, + "total_return_pct": 36.7, + "cagr_pct": 53.8, + "mdd_pct": 11.02, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.97 + } + }, + "alpha_pct": -58.4 + }, + "test": { + "final_equity": 103550802, + "total_return_pct": 3.55, + "cagr_pct": 11.77, + "mdd_pct": 9.76, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.28, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.28 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.72 + } + }, + "alpha_pct": -49.28 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.11, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 11.22, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.53, + "trades": 39 + } + ], + "worst_ret": -3.53 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 122701178, + "total_return_pct": 22.7, + "cagr_pct": 32.54, + "mdd_pct": 11.62, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 32.6, + "profit_factor": 2.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -72.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.97 + } + }, + "alpha_pct": -72.4 + }, + "test": { + "final_equity": 103703981, + "total_return_pct": 3.7, + "cagr_pct": 12.3, + "mdd_pct": 5.64, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.62, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.87 + } + }, + "alpha_pct": -49.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -3.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.33, + "trades": 17 + } + ], + "worst_ret": -3.58 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 122701178, + "total_return_pct": 22.7, + "cagr_pct": 32.54, + "mdd_pct": 11.62, + "trades": 46, + "open_positions": 4, + "win_rate_pct": 32.6, + "profit_factor": 2.06, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -72.4 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -24.97 + } + }, + "alpha_pct": -72.4 + }, + "test": { + "final_equity": 103703981, + "total_return_pct": 3.7, + "cagr_pct": 12.3, + "mdd_pct": 5.64, + "trades": 13, + "open_positions": 3, + "win_rate_pct": 30.8, + "profit_factor": 1.62, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.13 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.87 + } + }, + "alpha_pct": -49.13 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 5.72, + "trades": 17 + }, + { + "from": "20250916", + "to": "20260126", + "ret": -3.58, + "trades": 18 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 14.33, + "trades": 17 + } + ], + "worst_ret": -3.58 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 156775460, + "total_return_pct": 56.78, + "cagr_pct": 85.74, + "mdd_pct": 13.92, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 3.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.11 + } + }, + "alpha_pct": -38.32 + }, + "test": { + "final_equity": 102342069, + "total_return_pct": 2.34, + "cagr_pct": 7.66, + "mdd_pct": 9.66, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.51 + } + }, + "alpha_pct": -50.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.24, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.17, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.69, + "trades": 42 + } + ], + "worst_ret": -3.69 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 156775460, + "total_return_pct": 56.78, + "cagr_pct": 85.74, + "mdd_pct": 13.92, + "trades": 69, + "open_positions": 8, + "win_rate_pct": 39.1, + "profit_factor": 3.81, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -38.32 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 9.11 + } + }, + "alpha_pct": -38.32 + }, + "test": { + "final_equity": 102342069, + "total_return_pct": 2.34, + "cagr_pct": 7.66, + "mdd_pct": 9.66, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.19, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.49 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.51 + } + }, + "alpha_pct": -50.49 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 19.24, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 21.17, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.69, + "trades": 42 + } + ], + "worst_ret": -3.69 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133209144, + "total_return_pct": 33.21, + "cagr_pct": 48.42, + "mdd_pct": 14.16, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.89 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.46 + } + }, + "alpha_pct": -61.89 + }, + "test": { + "final_equity": 97803936, + "total_return_pct": -2.2, + "cagr_pct": -6.84, + "mdd_pct": 14.9, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.97 + } + }, + "alpha_pct": -55.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.57, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.72, + "trades": 23 + } + ], + "worst_ret": -3.72 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133209144, + "total_return_pct": 33.21, + "cagr_pct": 48.42, + "mdd_pct": 14.16, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 2.13, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.89 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.46 + } + }, + "alpha_pct": -61.89 + }, + "test": { + "final_equity": 97803936, + "total_return_pct": -2.2, + "cagr_pct": -6.84, + "mdd_pct": 14.9, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 1.02, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.03 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.97 + } + }, + "alpha_pct": -55.03 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.57, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -3.72, + "trades": 23 + } + ], + "worst_ret": -3.72 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131400046, + "total_return_pct": 31.4, + "cagr_pct": 45.65, + "mdd_pct": 11.09, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 40.3, + "profit_factor": 2.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.27 + } + }, + "alpha_pct": -63.7 + }, + "test": { + "final_equity": 96894130, + "total_return_pct": -3.11, + "cagr_pct": -9.57, + "mdd_pct": 8.8, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.06 + } + }, + "alpha_pct": -55.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.62, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.41, + "trades": 29 + } + ], + "worst_ret": -4.41 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 126179511, + "total_return_pct": 26.18, + "cagr_pct": 37.74, + "mdd_pct": 11.08, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 37.7, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.49 + } + }, + "alpha_pct": -68.92 + }, + "test": { + "final_equity": 96894130, + "total_return_pct": -3.11, + "cagr_pct": -9.57, + "mdd_pct": 8.8, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.06 + } + }, + "alpha_pct": -55.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.44, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.4, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.41, + "trades": 29 + } + ], + "worst_ret": -4.41 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131400046, + "total_return_pct": 31.4, + "cagr_pct": 45.65, + "mdd_pct": 11.09, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 40.3, + "profit_factor": 2.97, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.7 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -16.27 + } + }, + "alpha_pct": -63.7 + }, + "test": { + "final_equity": 96894130, + "total_return_pct": -3.11, + "cagr_pct": -9.57, + "mdd_pct": 8.8, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.06 + } + }, + "alpha_pct": -55.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.92, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.62, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.41, + "trades": 29 + } + ], + "worst_ret": -4.41 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 126179511, + "total_return_pct": 26.18, + "cagr_pct": 37.74, + "mdd_pct": 11.08, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 37.7, + "profit_factor": 2.51, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -68.92 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.49 + } + }, + "alpha_pct": -68.92 + }, + "test": { + "final_equity": 96894130, + "total_return_pct": -3.11, + "cagr_pct": -9.57, + "mdd_pct": 8.8, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.94 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.06 + } + }, + "alpha_pct": -55.94 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.44, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.4, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.41, + "trades": 29 + } + ], + "worst_ret": -4.41 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136129644, + "total_return_pct": 36.13, + "cagr_pct": 52.92, + "mdd_pct": 11.01, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.54 + } + }, + "alpha_pct": -58.97 + }, + "test": { + "final_equity": 101022251, + "total_return_pct": 1.02, + "cagr_pct": 3.3, + "mdd_pct": 9.35, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.19 + } + }, + "alpha_pct": -51.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.95, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.58, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.51, + "trades": 38 + } + ], + "worst_ret": -4.51 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 136129644, + "total_return_pct": 36.13, + "cagr_pct": 52.92, + "mdd_pct": 11.01, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 2.9, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.97 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.54 + } + }, + "alpha_pct": -58.97 + }, + "test": { + "final_equity": 101022251, + "total_return_pct": 1.02, + "cagr_pct": 3.3, + "mdd_pct": 9.35, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.18, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -51.81 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 15.19 + } + }, + "alpha_pct": -51.81 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.95, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.58, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.51, + "trades": 38 + } + ], + "worst_ret": -4.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 135014217, + "total_return_pct": 35.01, + "cagr_pct": 51.2, + "mdd_pct": 14.24, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.66 + } + }, + "alpha_pct": -60.09 + }, + "test": { + "final_equity": 96992523, + "total_return_pct": -3.01, + "cagr_pct": -9.28, + "mdd_pct": 12.23, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.16 + } + }, + "alpha_pct": -55.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.98, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.68, + "trades": 23 + } + ], + "worst_ret": -4.68 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 135014217, + "total_return_pct": 35.01, + "cagr_pct": 51.2, + "mdd_pct": 14.24, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 27.3, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.09 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -12.66 + } + }, + "alpha_pct": -60.09 + }, + "test": { + "final_equity": 96992523, + "total_return_pct": -3.01, + "cagr_pct": -9.28, + "mdd_pct": 12.23, + "trades": 19, + "open_positions": 7, + "win_rate_pct": 21.1, + "profit_factor": 0.89, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -55.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 11.16 + } + }, + "alpha_pct": -55.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.85, + "trades": 18 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.98, + "trades": 17 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.68, + "trades": 23 + } + ], + "worst_ret": -4.68 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149451674, + "total_return_pct": 49.45, + "cagr_pct": 73.9, + "mdd_pct": 10.82, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 40.8, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.78 + } + }, + "alpha_pct": -45.65 + }, + "test": { + "final_equity": 101898092, + "total_return_pct": 1.9, + "cagr_pct": 6.18, + "mdd_pct": 9.33, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.07 + } + }, + "alpha_pct": -50.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.61, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.43, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.98, + "trades": 43 + } + ], + "worst_ret": -4.98 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 149451674, + "total_return_pct": 49.45, + "cagr_pct": 73.9, + "mdd_pct": 10.82, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 40.8, + "profit_factor": 3.54, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.65 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.78 + } + }, + "alpha_pct": -45.65 + }, + "test": { + "final_equity": 101898092, + "total_return_pct": 1.9, + "cagr_pct": 6.18, + "mdd_pct": 9.33, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.16, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.93 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.07 + } + }, + "alpha_pct": -50.93 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.61, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.43, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -4.98, + "trades": 43 + } + ], + "worst_ret": -4.98 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134039214, + "total_return_pct": 34.04, + "cagr_pct": 49.69, + "mdd_pct": 11.03, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 43.8, + "profit_factor": 3.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.63 + } + }, + "alpha_pct": -61.06 + }, + "test": { + "final_equity": 95136340, + "total_return_pct": -4.86, + "cagr_pct": -14.7, + "mdd_pct": 10.98, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.31 + } + }, + "alpha_pct": -57.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.21, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.08, + "trades": 29 + } + ], + "worst_ret": -5.08 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130079322, + "total_return_pct": 30.08, + "cagr_pct": 43.64, + "mdd_pct": 11.02, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 2.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.59 + } + }, + "alpha_pct": -65.02 + }, + "test": { + "final_equity": 95136340, + "total_return_pct": -4.86, + "cagr_pct": -14.7, + "mdd_pct": 10.98, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.31 + } + }, + "alpha_pct": -57.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.95, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.08, + "trades": 29 + } + ], + "worst_ret": -5.08 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134039214, + "total_return_pct": 34.04, + "cagr_pct": 49.69, + "mdd_pct": 11.03, + "trades": 64, + "open_positions": 7, + "win_rate_pct": 43.8, + "profit_factor": 3.07, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.06 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.63 + } + }, + "alpha_pct": -61.06 + }, + "test": { + "final_equity": 95136340, + "total_return_pct": -4.86, + "cagr_pct": -14.7, + "mdd_pct": 10.98, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.31 + } + }, + "alpha_pct": -57.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 7.21, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.08, + "trades": 29 + } + ], + "worst_ret": -5.08 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130079322, + "total_return_pct": 30.08, + "cagr_pct": 43.64, + "mdd_pct": 11.02, + "trades": 63, + "open_positions": 7, + "win_rate_pct": 41.3, + "profit_factor": 2.83, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -65.02 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.59 + } + }, + "alpha_pct": -65.02 + }, + "test": { + "final_equity": 95136340, + "total_return_pct": -4.86, + "cagr_pct": -14.7, + "mdd_pct": 10.98, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.75, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.69 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.31 + } + }, + "alpha_pct": -57.69 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.95, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.08, + "trades": 29 + } + ], + "worst_ret": -5.08 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137117412, + "total_return_pct": 37.12, + "cagr_pct": 54.45, + "mdd_pct": 11.07, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.55 + } + }, + "alpha_pct": -57.98 + }, + "test": { + "final_equity": 105707341, + "total_return_pct": 5.71, + "cagr_pct": 19.37, + "mdd_pct": 12.13, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.88 + } + }, + "alpha_pct": -47.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.04, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.87, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.45, + "trades": 39 + } + ], + "worst_ret": -5.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 137117412, + "total_return_pct": 37.12, + "cagr_pct": 54.45, + "mdd_pct": 11.07, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 2.92, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -57.98 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -10.55 + } + }, + "alpha_pct": -57.98 + }, + "test": { + "final_equity": 105707341, + "total_return_pct": 5.71, + "cagr_pct": 19.37, + "mdd_pct": 12.13, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.46, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -47.12 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 19.88 + } + }, + "alpha_pct": -47.12 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.04, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.87, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.45, + "trades": 39 + } + ], + "worst_ret": -5.45 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149577881, + "total_return_pct": 49.58, + "cagr_pct": 74.1, + "mdd_pct": 10.85, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 40.8, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.91 + } + }, + "alpha_pct": -45.52 + }, + "test": { + "final_equity": 102990558, + "total_return_pct": 2.99, + "cagr_pct": 9.86, + "mdd_pct": 12.77, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.16 + } + }, + "alpha_pct": -49.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.47, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.06, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.76, + "trades": 43 + } + ], + "worst_ret": -5.76 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 149577881, + "total_return_pct": 49.58, + "cagr_pct": 74.1, + "mdd_pct": 10.85, + "trades": 71, + "open_positions": 8, + "win_rate_pct": 40.8, + "profit_factor": 3.38, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -45.52 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 1.91 + } + }, + "alpha_pct": -45.52 + }, + "test": { + "final_equity": 102990558, + "total_return_pct": 2.99, + "cagr_pct": 9.86, + "mdd_pct": 12.77, + "trades": 28, + "open_positions": 7, + "win_rate_pct": 28.6, + "profit_factor": 1.27, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -49.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 17.16 + } + }, + "alpha_pct": -49.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 17.47, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.06, + "trades": 26 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.76, + "trades": 43 + } + ], + "worst_ret": -5.76 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141868182, + "total_return_pct": 41.87, + "cagr_pct": 61.87, + "mdd_pct": 11.07, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.8 + } + }, + "alpha_pct": -53.23 + }, + "test": { + "final_equity": 96505058, + "total_return_pct": -3.49, + "cagr_pct": -10.73, + "mdd_pct": 9.0, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.68 + } + }, + "alpha_pct": -56.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.61, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.84, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.84, + "trades": 32 + } + ], + "worst_ret": -5.84 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133597477, + "total_return_pct": 33.6, + "cagr_pct": 49.02, + "mdd_pct": 11.08, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 41.4, + "profit_factor": 2.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.07 + } + }, + "alpha_pct": -61.5 + }, + "test": { + "final_equity": 96505058, + "total_return_pct": -3.49, + "cagr_pct": -10.73, + "mdd_pct": 9.0, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.68 + } + }, + "alpha_pct": -56.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.13, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.52, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.84, + "trades": 32 + } + ], + "worst_ret": -5.84 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 141868182, + "total_return_pct": 41.87, + "cagr_pct": 61.87, + "mdd_pct": 11.07, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 3.41, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -53.23 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.8 + } + }, + "alpha_pct": -53.23 + }, + "test": { + "final_equity": 96505058, + "total_return_pct": -3.49, + "cagr_pct": -10.73, + "mdd_pct": 9.0, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.68 + } + }, + "alpha_pct": -56.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.61, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.84, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.84, + "trades": 32 + } + ], + "worst_ret": -5.84 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 133597477, + "total_return_pct": 33.6, + "cagr_pct": 49.02, + "mdd_pct": 11.08, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 41.4, + "profit_factor": 2.84, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.5 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.07 + } + }, + "alpha_pct": -61.5 + }, + "test": { + "final_equity": 96505058, + "total_return_pct": -3.49, + "cagr_pct": -10.73, + "mdd_pct": 9.0, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.77, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -56.32 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 10.68 + } + }, + "alpha_pct": -56.32 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.13, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.52, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -5.84, + "trades": 32 + } + ], + "worst_ret": -5.84 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132495343, + "total_return_pct": 32.5, + "cagr_pct": 47.32, + "mdd_pct": 11.13, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 40.3, + "profit_factor": 2.96, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.17 + } + }, + "alpha_pct": -62.6 + }, + "test": { + "final_equity": 94474140, + "total_return_pct": -5.53, + "cagr_pct": -16.58, + "mdd_pct": 11.36, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.64 + } + }, + "alpha_pct": -58.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.78, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.22, + "trades": 29 + } + ], + "worst_ret": -6.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125727182, + "total_return_pct": 25.73, + "cagr_pct": 37.06, + "mdd_pct": 11.13, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 37.7, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.94 + } + }, + "alpha_pct": -69.37 + }, + "test": { + "final_equity": 94474140, + "total_return_pct": -5.53, + "cagr_pct": -16.58, + "mdd_pct": 11.36, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.64 + } + }, + "alpha_pct": -58.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.55, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.22, + "trades": 29 + } + ], + "worst_ret": -6.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 132495343, + "total_return_pct": 32.5, + "cagr_pct": 47.32, + "mdd_pct": 11.13, + "trades": 62, + "open_positions": 8, + "win_rate_pct": 40.3, + "profit_factor": 2.96, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.6 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.17 + } + }, + "alpha_pct": -62.6 + }, + "test": { + "final_equity": 94474140, + "total_return_pct": -5.53, + "cagr_pct": -16.58, + "mdd_pct": 11.36, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.64 + } + }, + "alpha_pct": -58.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.98, + "trades": 23 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.78, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.22, + "trades": 29 + } + ], + "worst_ret": -6.22 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 125727182, + "total_return_pct": 25.73, + "cagr_pct": 37.06, + "mdd_pct": 11.13, + "trades": 61, + "open_positions": 8, + "win_rate_pct": 37.7, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -69.37 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -21.94 + } + }, + "alpha_pct": -69.37 + }, + "test": { + "final_equity": 94474140, + "total_return_pct": -5.53, + "cagr_pct": -16.58, + "mdd_pct": 11.36, + "trades": 21, + "open_positions": 5, + "win_rate_pct": 23.8, + "profit_factor": 0.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.36 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.64 + } + }, + "alpha_pct": -58.36 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 6.48, + "trades": 24 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 6.55, + "trades": 28 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.22, + "trades": 29 + } + ], + "worst_ret": -6.22 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136282209, + "total_return_pct": 36.28, + "cagr_pct": 53.15, + "mdd_pct": 11.05, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.39 + } + }, + "alpha_pct": -58.82 + }, + "test": { + "final_equity": 101985111, + "total_return_pct": 1.99, + "cagr_pct": 6.47, + "mdd_pct": 12.87, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.16 + } + }, + "alpha_pct": -50.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.24, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.44, + "trades": 38 + } + ], + "worst_ret": -6.44 + }, + { + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 136282209, + "total_return_pct": 36.28, + "cagr_pct": 53.15, + "mdd_pct": 11.05, + "trades": 66, + "open_positions": 8, + "win_rate_pct": 39.4, + "profit_factor": 2.77, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -58.82 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -11.39 + } + }, + "alpha_pct": -58.82 + }, + "test": { + "final_equity": 101985111, + "total_return_pct": 1.99, + "cagr_pct": 6.47, + "mdd_pct": 12.87, + "trades": 27, + "open_positions": 6, + "win_rate_pct": 25.9, + "profit_factor": 1.29, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -50.84 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 16.16 + } + }, + "alpha_pct": -50.84 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.63, + "trades": 22 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.24, + "trades": 27 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.44, + "trades": 38 + } + ], + "worst_ret": -6.44 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138591181, + "total_return_pct": 38.59, + "cagr_pct": 56.74, + "mdd_pct": 11.16, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 44.1, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.08 + } + }, + "alpha_pct": -56.51 + }, + "test": { + "final_equity": 95814783, + "total_return_pct": -4.19, + "cagr_pct": -12.75, + "mdd_pct": 9.4, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.98 + } + }, + "alpha_pct": -57.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.59, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.84, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.52, + "trades": 32 + } + ], + "worst_ret": -6.52 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131681594, + "total_return_pct": 31.68, + "cagr_pct": 46.08, + "mdd_pct": 11.15, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 2.53, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.99 + } + }, + "alpha_pct": -63.42 + }, + "test": { + "final_equity": 95814783, + "total_return_pct": -4.19, + "cagr_pct": -12.75, + "mdd_pct": 9.4, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.98 + } + }, + "alpha_pct": -57.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.75, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.52, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.52, + "trades": 32 + } + ], + "worst_ret": -6.52 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 138591181, + "total_return_pct": 38.59, + "cagr_pct": 56.74, + "mdd_pct": 11.16, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 44.1, + "profit_factor": 3.01, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.51 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -9.08 + } + }, + "alpha_pct": -56.51 + }, + "test": { + "final_equity": 95814783, + "total_return_pct": -4.19, + "cagr_pct": -12.75, + "mdd_pct": 9.4, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.98 + } + }, + "alpha_pct": -57.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.59, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.84, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.52, + "trades": 32 + } + ], + "worst_ret": -6.52 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 131681594, + "total_return_pct": 31.68, + "cagr_pct": 46.08, + "mdd_pct": 11.15, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 2.53, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -63.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -15.99 + } + }, + "alpha_pct": -63.42 + }, + "test": { + "final_equity": 95814783, + "total_return_pct": -4.19, + "cagr_pct": -12.75, + "mdd_pct": 9.4, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.72, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.02 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.98 + } + }, + "alpha_pct": -57.02 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.75, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.52, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.52, + "trades": 32 + } + ], + "worst_ret": -6.52 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142391114, + "total_return_pct": 42.39, + "cagr_pct": 62.69, + "mdd_pct": 11.1, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.28 + } + }, + "alpha_pct": -52.71 + }, + "test": { + "final_equity": 95180725, + "total_return_pct": -4.82, + "cagr_pct": -14.58, + "mdd_pct": 11.12, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.81, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.35 + } + }, + "alpha_pct": -57.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.58, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.62, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.83, + "trades": 32 + } + ], + "worst_ret": -6.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134248994, + "total_return_pct": 34.25, + "cagr_pct": 50.02, + "mdd_pct": 11.11, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 41.4, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.42 + } + }, + "alpha_pct": -60.85 + }, + "test": { + "final_equity": 95180725, + "total_return_pct": -4.82, + "cagr_pct": -14.58, + "mdd_pct": 11.12, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.81, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.35 + } + }, + "alpha_pct": -57.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.32, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.83, + "trades": 32 + } + ], + "worst_ret": -6.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 142391114, + "total_return_pct": 42.39, + "cagr_pct": 62.69, + "mdd_pct": 11.1, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 44.9, + "profit_factor": 3.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -52.71 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -5.28 + } + }, + "alpha_pct": -52.71 + }, + "test": { + "final_equity": 95180725, + "total_return_pct": -4.82, + "cagr_pct": -14.58, + "mdd_pct": 11.12, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.81, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.35 + } + }, + "alpha_pct": -57.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 13.58, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.62, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.83, + "trades": 32 + } + ], + "worst_ret": -6.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 134248994, + "total_return_pct": 34.25, + "cagr_pct": 50.02, + "mdd_pct": 11.11, + "trades": 70, + "open_positions": 7, + "win_rate_pct": 41.4, + "profit_factor": 2.78, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -60.85 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.42 + } + }, + "alpha_pct": -60.85 + }, + "test": { + "final_equity": 95180725, + "total_return_pct": -4.82, + "cagr_pct": -14.58, + "mdd_pct": 11.12, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.81, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -57.65 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 9.35 + } + }, + "alpha_pct": -57.65 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.1, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.32, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -6.83, + "trades": 32 + } + ], + "worst_ret": -6.83 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139160561, + "total_return_pct": 39.16, + "cagr_pct": 57.63, + "mdd_pct": 11.2, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 44.1, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.51 + } + }, + "alpha_pct": -55.94 + }, + "test": { + "final_equity": 94479242, + "total_return_pct": -5.52, + "cagr_pct": -16.57, + "mdd_pct": 11.53, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.65 + } + }, + "alpha_pct": -58.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.55, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.62, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -7.51, + "trades": 32 + } + ], + "worst_ret": -7.51 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130669135, + "total_return_pct": 30.67, + "cagr_pct": 44.54, + "mdd_pct": 11.19, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.0 + } + }, + "alpha_pct": -64.43 + }, + "test": { + "final_equity": 94479242, + "total_return_pct": -5.52, + "cagr_pct": -16.57, + "mdd_pct": 11.53, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.65 + } + }, + "alpha_pct": -58.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.72, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.32, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -7.51, + "trades": 32 + } + ], + "worst_ret": -7.51 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139160561, + "total_return_pct": 39.16, + "cagr_pct": 57.63, + "mdd_pct": 11.2, + "trades": 68, + "open_positions": 7, + "win_rate_pct": 44.1, + "profit_factor": 2.94, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -55.94 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.51 + } + }, + "alpha_pct": -55.94 + }, + "test": { + "final_equity": 94479242, + "total_return_pct": -5.52, + "cagr_pct": -16.57, + "mdd_pct": 11.53, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.65 + } + }, + "alpha_pct": -58.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 12.55, + "trades": 25 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.62, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -7.51, + "trades": 32 + } + ], + "worst_ret": -7.51 + }, + { + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 130669135, + "total_return_pct": 30.67, + "cagr_pct": 44.54, + "mdd_pct": 11.19, + "trades": 69, + "open_positions": 7, + "win_rate_pct": 39.1, + "profit_factor": 2.33, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.0 + } + }, + "alpha_pct": -64.43 + }, + "test": { + "final_equity": 94479242, + "total_return_pct": -5.52, + "cagr_pct": -16.57, + "mdd_pct": 11.53, + "trades": 24, + "open_positions": 6, + "win_rate_pct": 29.2, + "profit_factor": 0.76, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -58.35 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 8.65 + } + }, + "alpha_pct": -58.35 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.72, + "trades": 26 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 10.32, + "trades": 31 + }, + { + "from": "20260127", + "to": "20260609", + "ret": -7.51, + "trades": 32 + } + ], + "worst_ret": -7.51 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152674952, + "total_return_pct": 52.67, + "cagr_pct": 79.08, + "mdd_pct": 11.18, + "trades": 40, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 4.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.0 + } + }, + "alpha_pct": -42.43 + }, + "test": { + "final_equity": 148081153, + "total_return_pct": 48.08, + "cagr_pct": 249.84, + "mdd_pct": 10.51, + "trades": 9, + "open_positions": 6, + "win_rate_pct": 55.6, + "profit_factor": 11.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -4.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 62.25 + } + }, + "alpha_pct": -4.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.81, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.1, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.7, + "trades": 11 + } + ], + "worst_ret": 11.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 152674952, + "total_return_pct": 52.67, + "cagr_pct": 79.08, + "mdd_pct": 11.18, + "trades": 40, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 4.64, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -42.43 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": 5.0 + } + }, + "alpha_pct": -42.43 + }, + "test": { + "final_equity": 148081153, + "total_return_pct": 48.08, + "cagr_pct": 249.84, + "mdd_pct": 10.51, + "trades": 9, + "open_positions": 6, + "win_rate_pct": 55.6, + "profit_factor": 11.71, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -4.75 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 62.25 + } + }, + "alpha_pct": -4.75 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 11.81, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 24.1, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 40.7, + "trades": 11 + } + ], + "worst_ret": 11.81 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133675220, + "total_return_pct": 33.68, + "cagr_pct": 49.13, + "mdd_pct": 15.06, + "trades": 37, + "open_positions": 7, + "win_rate_pct": 35.1, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.99 + } + }, + "alpha_pct": -61.42 + }, + "test": { + "final_equity": 117282861, + "total_return_pct": 17.28, + "cagr_pct": 66.28, + "mdd_pct": 8.26, + "trades": 8, + "open_positions": 6, + "win_rate_pct": 37.5, + "profit_factor": 3.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -35.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 31.45 + } + }, + "alpha_pct": -35.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.56, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.04, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.35, + "trades": 11 + } + ], + "worst_ret": 10.56 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 133675220, + "total_return_pct": 33.68, + "cagr_pct": 49.13, + "mdd_pct": 15.06, + "trades": 37, + "open_positions": 7, + "win_rate_pct": 35.1, + "profit_factor": 3.02, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -61.42 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -13.99 + } + }, + "alpha_pct": -61.42 + }, + "test": { + "final_equity": 117282861, + "total_return_pct": 17.28, + "cagr_pct": 66.28, + "mdd_pct": 8.26, + "trades": 8, + "open_positions": 6, + "win_rate_pct": 37.5, + "profit_factor": 3.13, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -35.55 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 31.45 + } + }, + "alpha_pct": -35.55 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 10.56, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 17.04, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 18.35, + "trades": 11 + } + ], + "worst_ret": 10.56 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147018838, + "total_return_pct": 47.02, + "cagr_pct": 70.01, + "mdd_pct": 10.99, + "trades": 40, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 4.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.65 + } + }, + "alpha_pct": -48.08 + }, + "test": { + "final_equity": 131407573, + "total_return_pct": 31.41, + "cagr_pct": 138.99, + "mdd_pct": 8.27, + "trades": 9, + "open_positions": 6, + "win_rate_pct": 55.6, + "profit_factor": 9.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.58 + } + }, + "alpha_pct": -21.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.66, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.82, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.3, + "trades": 11 + } + ], + "worst_ret": 9.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 147018838, + "total_return_pct": 47.02, + "cagr_pct": 70.01, + "mdd_pct": 10.99, + "trades": 40, + "open_positions": 8, + "win_rate_pct": 40.0, + "profit_factor": 4.82, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -48.08 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -0.65 + } + }, + "alpha_pct": -48.08 + }, + "test": { + "final_equity": 131407573, + "total_return_pct": 31.41, + "cagr_pct": 138.99, + "mdd_pct": 8.27, + "trades": 9, + "open_positions": 6, + "win_rate_pct": 55.6, + "profit_factor": 9.07, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -21.42 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 45.58 + } + }, + "alpha_pct": -21.42 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.66, + "trades": 10 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 23.82, + "trades": 9 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 27.3, + "trades": 11 + } + ], + "worst_ret": 9.66 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139090804, + "total_return_pct": 39.09, + "cagr_pct": 57.52, + "mdd_pct": 13.11, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 31.9, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.01 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.58 + } + }, + "alpha_pct": -56.01 + }, + "test": { + "final_equity": 136542706, + "total_return_pct": 36.54, + "cagr_pct": 170.08, + "mdd_pct": 8.14, + "trades": 9, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 6.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.71 + } + }, + "alpha_pct": -16.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.3, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.37, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 49.31, + "trades": 15 + } + ], + "worst_ret": 9.3 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + }, + "train": { + "final_equity": 139090804, + "total_return_pct": 39.09, + "cagr_pct": 57.52, + "mdd_pct": 13.11, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 31.9, + "profit_factor": 2.32, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -56.01 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -8.58 + } + }, + "alpha_pct": -56.01 + }, + "test": { + "final_equity": 136542706, + "total_return_pct": 36.54, + "cagr_pct": 170.08, + "mdd_pct": 8.14, + "trades": 9, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 6.41, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -16.29 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 50.71 + } + }, + "alpha_pct": -16.29 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 9.3, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 20.37, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 49.31, + "trades": 15 + } + ], + "worst_ret": 9.3 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130487006, + "total_return_pct": 30.49, + "cagr_pct": 44.26, + "mdd_pct": 13.85, + "trades": 37, + "open_positions": 7, + "win_rate_pct": 35.1, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.18 + } + }, + "alpha_pct": -64.61 + }, + "test": { + "final_equity": 111377316, + "total_return_pct": 11.38, + "cagr_pct": 41.02, + "mdd_pct": 5.52, + "trades": 8, + "open_positions": 6, + "win_rate_pct": 37.5, + "profit_factor": 2.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.55 + } + }, + "alpha_pct": -41.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.64, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.09, + "trades": 11 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 130487006, + "total_return_pct": 30.49, + "cagr_pct": 44.26, + "mdd_pct": 13.85, + "trades": 37, + "open_positions": 7, + "win_rate_pct": 35.1, + "profit_factor": 3.23, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -64.61 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -17.18 + } + }, + "alpha_pct": -64.61 + }, + "test": { + "final_equity": 111377316, + "total_return_pct": 11.38, + "cagr_pct": 41.02, + "mdd_pct": 5.52, + "trades": 8, + "open_positions": 6, + "win_rate_pct": 37.5, + "profit_factor": 2.51, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -41.45 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 25.55 + } + }, + "alpha_pct": -41.45 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 8.93, + "trades": 7 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 16.64, + "trades": 6 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 13.09, + "trades": 11 + } + ], + "worst_ret": 8.93 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132742237, + "total_return_pct": 32.74, + "cagr_pct": 47.7, + "mdd_pct": 11.0, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 31.9, + "profit_factor": 2.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.93 + } + }, + "alpha_pct": -62.36 + }, + "test": { + "final_equity": 122845495, + "total_return_pct": 22.85, + "cagr_pct": 92.77, + "mdd_pct": 4.92, + "trades": 9, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 5.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.02 + } + }, + "alpha_pct": -29.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.18, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.12, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.4, + "trades": 15 + } + ], + "worst_ret": 7.18 + }, + { + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 35, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + }, + "train": { + "final_equity": 132742237, + "total_return_pct": 32.74, + "cagr_pct": 47.7, + "mdd_pct": 11.0, + "trades": 47, + "open_positions": 7, + "win_rate_pct": 31.9, + "profit_factor": 2.47, + "days": 183, + "from": "20250513", + "to": "20260206", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 95.1, + "alpha": -62.36 + }, + "KOSDAQ": { + "pct": 47.67, + "alpha": -14.93 + } + }, + "alpha_pct": -62.36 + }, + "test": { + "final_equity": 122845495, + "total_return_pct": 22.85, + "cagr_pct": 92.77, + "mdd_pct": 4.92, + "trades": 9, + "open_positions": 8, + "win_rate_pct": 44.4, + "profit_factor": 5.82, + "days": 79, + "from": "20260209", + "to": "20260609", + "flow_used": true, + "benchmark": { + "KOSPI": { + "pct": 52.83, + "alpha": -29.98 + }, + "KOSDAQ": { + "pct": -14.17, + "alpha": 37.02 + } + }, + "alpha_pct": -29.98 + }, + "windows": [ + { + "from": "20250513", + "to": "20250915", + "ret": 7.18, + "trades": 16 + }, + { + "from": "20250916", + "to": "20260126", + "ret": 18.12, + "trades": 13 + }, + { + "from": "20260127", + "to": "20260609", + "ret": 30.4, + "trades": 15 + } + ], + "worst_ret": 7.18 + } + ] +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/equity_history.json b/agents/stock/workspace/state/sim/equity_history.json new file mode 100644 index 0000000..2b8f50f --- /dev/null +++ b/agents/stock/workspace/state/sim/equity_history.json @@ -0,0 +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": 100163437, "ret": 0.16}, {"id": "v64", "ph": "15b83273", "equity": 100163437, "ret": 0.16}, {"id": "v66", "ph": "db0e70a4", "equity": 100163437, "ret": 0.16}, {"id": "v68", "ph": "38c84625", "equity": 100083327, "ret": 0.08}, {"id": "v70", "ph": "6c4d4125", "equity": 100083327, "ret": 0.08}, {"id": "v72", "ph": "b8d74129", "equity": 100083327, "ret": 0.08}, {"id": "v74", "ph": "35a8e955", "equity": 100083327, "ret": 0.08}, {"id": "v76", "ph": "178928cb", "equity": 100083327, "ret": 0.08}, {"id": "v78", "ph": "655e082d", "equity": 100083327, "ret": 0.08}, {"id": "v80", "ph": "b2d56c47", "equity": 100083327, "ret": 0.08}, {"id": "v84", "ph": "95794738", "equity": 100083327, "ret": 0.08}, {"id": "v86", "ph": "935c5a1c", "equity": 100083327, "ret": 0.08}, {"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": "v22", "ph": "956b3b16", "equity": 100000000, "ret": 0.0}, {"id": "v23", "ph": "aec632b1", "equity": 100000000, "ret": 0.0}, {"id": "v24", "ph": "9beb8c05", "equity": 100000000, "ret": 0.0}, {"id": "v25", "ph": "00b59557", "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": "v79", "ph": "61b964d8", "equity": 100000000, "ret": 0.0}, {"id": "v81", "ph": "a6eac1e4", "equity": 100000000, "ret": 0.0}, {"id": "v82", "ph": "01847af6", "equity": 100000000, "ret": 0.0}, {"id": "v83", "ph": "1b98a0fc", "equity": 100000000, "ret": 0.0}, {"id": "v85", "ph": "5ca17df0", "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": 99919458, "ret": -0.08}, {"id": "v90", "ph": "86e09c47", "equity": 99919458, "ret": -0.08}, {"id": "v98", "ph": "266fc53f", "equity": 99919458, "ret": -0.08}, {"id": "v106", "ph": "d0f5fbc1", "equity": 99919458, "ret": -0.08}, {"id": "v40", "ph": "70731d89", "equity": 99864085, "ret": -0.14}, {"id": "v42", "ph": "f36fddc6", "equity": 99864085, "ret": -0.14}, {"id": "v44", "ph": "364ea434", "equity": 99864085, "ret": -0.14}]} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/favorites.json b/agents/stock/workspace/state/sim/favorites.json new file mode 100644 index 0000000..8d8bfdb --- /dev/null +++ b/agents/stock/workspace/state/sim/favorites.json @@ -0,0 +1 @@ +{"👀": "v1"} \ 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 new file mode 100644 index 0000000..f25a118 --- /dev/null +++ b/agents/stock/workspace/state/sim/index_history.json @@ -0,0 +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": 7600.32}, "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": 960.35}} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/params.json b/agents/stock/workspace/state/sim/params.json new file mode 100644 index 0000000..d7681d8 --- /dev/null +++ b/agents/stock/workspace/state/sim/params.json @@ -0,0 +1,11 @@ +{ + "SMA_LONG": 10, + "PULLBACK_ATR_MULT": 1.5, + "STOP_ATR_MULT": 2.0, + "RR_RATIO": 3.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88.0, + "RSI_OVERSOLD": 20.0, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants.json b/agents/stock/workspace/state/sim/variants.json new file mode 100644 index 0000000..9be85f7 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants.json @@ -0,0 +1,1694 @@ +[ + { + "id": "v1", + "name": "SMA10·RR3·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v2", + "name": "SMA20·RR3·S2·P1·V1.3·RSI↑75·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v3", + "name": "SMA20·RR1.5·S2·P1·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v4", + "name": "SMA20·RR2·S2·P1·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v5", + "name": "SMA10·RR2·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v6", + "name": "SMA20·RR2·S1.5·P1·V1.3·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v7", + "name": "SMA20·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v8", + "name": "SMA20·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v9", + "name": "SMA10·RR3·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v10", + "name": "SMA10·RR1.5·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v11", + "name": "SMA10·RR2·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v12", + "name": "SMA10·RR1.5·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v13", + "name": "SMA40·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v14", + "name": "SMA40·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v15", + "name": "SMA40·RR2·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02 + } + }, + { + "id": "v16", + "name": "SMA40·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v17", + "name": "SMA40·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v18", + "name": "SMA40·RR2·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v19", + "name": "SMA40·RR3·S2·P1.5·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v20", + "name": "SMA40·RR2·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v21", + "name": "SMA40·RR1.5·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v22", + "name": "SMA40·RR2·S1.5·P1·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v23", + "name": "SMA20·RR3·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v24", + "name": "SMA40·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v25", + "name": "SMA40·RR1.5·S2·P1·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v26", + "name": "SMA10·RR3·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v27", + "name": "SMA20·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v28", + "name": "SMA20·RR2·S2·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v29", + "name": "SMA10·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v30", + "name": "SMA20·RR1.5·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD20·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v31", + "name": "SMA20·RR1.5·S2·P1·V2·RSI↑75·RSI↓20·HOLD20·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v32", + "name": "SMA10·RR2·S2·P1.5·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v33", + "name": "SMA10·RR1.5·S2·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v34", + "name": "SMA10·RR1.5·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v35", + "name": "SMA20·RR2·S1.5·P1·V2·RSI↑88·RSI↓20·HOLD20·RISK0.01", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v36", + "name": "SMA10·RR2·S1.5·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01 + } + }, + { + "id": "v37", + "name": "SMA10·RR3·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v38", + "name": "SMA10·RR3·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v39", + "name": "SMA20·RR3·S2·P1·V1.3·RSI↑75·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v40", + "name": "SMA20·RR3·S2·P1·V1.3·RSI↑75·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v41", + "name": "SMA20·RR1.5·S2·P1·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v42", + "name": "SMA20·RR1.5·S2·P1·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v43", + "name": "SMA20·RR2·S2·P1·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v44", + "name": "SMA20·RR2·S2·P1·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v45", + "name": "SMA10·RR2·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v46", + "name": "SMA10·RR2·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v47", + "name": "SMA20·RR2·S1.5·P1·V1.3·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v48", + "name": "SMA20·RR2·S1.5·P1·V1.3·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v49", + "name": "SMA20·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v50", + "name": "SMA20·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v51", + "name": "SMA20·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v52", + "name": "SMA20·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v53", + "name": "SMA10·RR3·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v54", + "name": "SMA10·RR3·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v55", + "name": "SMA10·RR1.5·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v56", + "name": "SMA10·RR1.5·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v57", + "name": "SMA10·RR2·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v58", + "name": "SMA10·RR2·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v59", + "name": "SMA10·RR1.5·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v60", + "name": "SMA10·RR1.5·S2·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v61", + "name": "SMA40·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v62", + "name": "SMA40·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v63", + "name": "SMA40·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v64", + "name": "SMA40·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v65", + "name": "SMA40·RR2·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v66", + "name": "SMA40·RR2·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.02·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.02, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v67", + "name": "SMA40·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v68", + "name": "SMA40·RR3·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v69", + "name": "SMA40·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v70", + "name": "SMA40·RR1.5·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v71", + "name": "SMA40·RR2·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v72", + "name": "SMA40·RR2·S1.5·P1.5·V1.3·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 1.3, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v73", + "name": "SMA40·RR3·S2·P1.5·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v74", + "name": "SMA40·RR3·S2·P1.5·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v75", + "name": "SMA40·RR2·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v76", + "name": "SMA40·RR2·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v77", + "name": "SMA40·RR1.5·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v78", + "name": "SMA40·RR1.5·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v79", + "name": "SMA40·RR2·S1.5·P1·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v80", + "name": "SMA40·RR2·S1.5·P1·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v81", + "name": "SMA20·RR3·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v82", + "name": "SMA20·RR3·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v83", + "name": "SMA40·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v84", + "name": "SMA40·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v85", + "name": "SMA40·RR1.5·S2·P1·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v86", + "name": "SMA40·RR1.5·S2·P1·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 40, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v87", + "name": "SMA10·RR3·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v88", + "name": "SMA10·RR3·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 3.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v89", + "name": "SMA20·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v90", + "name": "SMA20·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v91", + "name": "SMA20·RR2·S2·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v92", + "name": "SMA20·RR2·S2·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v93", + "name": "SMA10·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v94", + "name": "SMA10·RR2·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v95", + "name": "SMA20·RR1.5·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD20·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v96", + "name": "SMA20·RR1.5·S1.5·P1.5·V2·RSI↑75·RSI↓20·HOLD20·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v97", + "name": "SMA20·RR1.5·S2·P1·V2·RSI↑75·RSI↓20·HOLD20·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v98", + "name": "SMA20·RR1.5·S2·P1·V2·RSI↑75·RSI↓20·HOLD20·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v99", + "name": "SMA10·RR2·S2·P1.5·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v100", + "name": "SMA10·RR2·S2·P1.5·V2·RSI↑88·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v101", + "name": "SMA10·RR1.5·S2·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v102", + "name": "SMA10·RR1.5·S2·P1.5·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.5, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v103", + "name": "SMA10·RR1.5·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v104", + "name": "SMA10·RR1.5·S2·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 1.5, + "STOP_ATR_MULT": 2.0, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v105", + "name": "SMA20·RR2·S1.5·P1·V2·RSI↑88·RSI↓20·HOLD20·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v106", + "name": "SMA20·RR2·S1.5·P1·V2·RSI↑88·RSI↓20·HOLD20·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 20, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 88, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 20, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + }, + { + "id": "v107", + "name": "SMA10·RR2·S1.5·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE0", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 0 + } + }, + { + "id": "v108", + "name": "SMA10·RR2·S1.5·P1·V2·RSI↑75·RSI↓20·HOLD0·RISK0.01·BEAR_ENTRY_MODE2", + "params": { + "SMA_LONG": 10, + "RR_RATIO": 2.0, + "STOP_ATR_MULT": 1.5, + "PULLBACK_ATR_MULT": 1.0, + "VOLUME_BREAKOUT_MULT": 2.0, + "RSI_OVERBOUGHT": 75, + "RSI_OVERSOLD": 20, + "MAX_HOLD_DAYS": 0, + "RISK_PER_TRADE_PCT": 0.01, + "BEAR_ENTRY_MODE": 2 + } + } +] \ 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 new file mode 100644 index 0000000..1d5c285 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v1/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943184+09:00", + "updated_at": "2026-06-11T11:20:01.454247+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v10/portfolio.json b/agents/stock/workspace/state/sim/variants/v10/portfolio.json new file mode 100644 index 0000000..3b815ed --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v10/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943289+09:00", + "updated_at": "2026-06-11T11:20:01.482275+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v100/portfolio.json b/agents/stock/workspace/state/sim/variants/v100/portfolio.json new file mode 100644 index 0000000..2b52a53 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v100/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944222+09:00", + "updated_at": "2026-06-11T11:20:02.415842+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v101/portfolio.json b/agents/stock/workspace/state/sim/variants/v101/portfolio.json new file mode 100644 index 0000000..eba3d8e --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v101/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944232+09:00", + "updated_at": "2026-06-11T11:20:02.416974+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v102/portfolio.json b/agents/stock/workspace/state/sim/variants/v102/portfolio.json new file mode 100644 index 0000000..022dcef --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v102/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944241+09:00", + "updated_at": "2026-06-11T11:20:02.418131+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v103/portfolio.json b/agents/stock/workspace/state/sim/variants/v103/portfolio.json new file mode 100644 index 0000000..aab6599 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v103/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944251+09:00", + "updated_at": "2026-06-11T11:20:02.419264+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v104/portfolio.json b/agents/stock/workspace/state/sim/variants/v104/portfolio.json new file mode 100644 index 0000000..13df7ba --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v104/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944261+09:00", + "updated_at": "2026-06-11T11:20:02.420394+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v105/portfolio.json b/agents/stock/workspace/state/sim/variants/v105/portfolio.json new file mode 100644 index 0000000..0ff883a --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v105/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944270+09:00", + "updated_at": "2026-06-11T11:20:02.421522+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v106/portfolio.json b/agents/stock/workspace/state/sim/variants/v106/portfolio.json new file mode 100644 index 0000000..f746ed0 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v106/portfolio.json @@ -0,0 +1,35 @@ +{ + "cash": 96383457.6, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 16, + "entry_price": 226000, + "entry_at": "2026-06-11T10:25:02.231934+09:00", + "stop": 195800, + "target": 286400, + "peak": 226000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 3741721.8543046354, + "last_add_price": 226000 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0008054240000000596, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944280+09:00", + "updated_at": "2026-06-11T11:20:02.422680+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v106/trades.jsonl b/agents/stock/workspace/state/sim/variants/v106/trades.jsonl new file mode 100644 index 0000000..ad3f739 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v106/trades.jsonl @@ -0,0 +1 @@ +{"ts": "2026-06-11T10:25:02.231935+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 16, "cost": 3616542, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 286400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v107/portfolio.json b/agents/stock/workspace/state/sim/variants/v107/portfolio.json new file mode 100644 index 0000000..a52734f --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v107/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944290+09:00", + "updated_at": "2026-06-11T11:20:02.423836+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v108/portfolio.json b/agents/stock/workspace/state/sim/variants/v108/portfolio.json new file mode 100644 index 0000000..3abdf12 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v108/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944300+09:00", + "updated_at": "2026-06-11T11:20:02.424970+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v11/portfolio.json b/agents/stock/workspace/state/sim/variants/v11/portfolio.json new file mode 100644 index 0000000..f593cc3 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v11/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943299+09:00", + "updated_at": "2026-06-11T11:20:01.484250+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v12/portfolio.json b/agents/stock/workspace/state/sim/variants/v12/portfolio.json new file mode 100644 index 0000000..718a7f4 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v12/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943310+09:00", + "updated_at": "2026-06-11T11:20:01.486076+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v13/portfolio.json b/agents/stock/workspace/state/sim/variants/v13/portfolio.json new file mode 100644 index 0000000..b180f5d --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v13/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943320+09:00", + "updated_at": "2026-06-11T11:20:02.273225+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v14/portfolio.json b/agents/stock/workspace/state/sim/variants/v14/portfolio.json new file mode 100644 index 0000000..1b0cfc6 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v14/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943331+09:00", + "updated_at": "2026-06-11T11:20:02.280336+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v15/portfolio.json b/agents/stock/workspace/state/sim/variants/v15/portfolio.json new file mode 100644 index 0000000..315ef3e --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v15/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943342+09:00", + "updated_at": "2026-06-11T11:20:02.285017+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v16/portfolio.json b/agents/stock/workspace/state/sim/variants/v16/portfolio.json new file mode 100644 index 0000000..ebb8fc7 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v16/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943352+09:00", + "updated_at": "2026-06-11T11:20:02.288698+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v17/portfolio.json b/agents/stock/workspace/state/sim/variants/v17/portfolio.json new file mode 100644 index 0000000..9511e01 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v17/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943361+09:00", + "updated_at": "2026-06-11T11:20:02.291899+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v18/portfolio.json b/agents/stock/workspace/state/sim/variants/v18/portfolio.json new file mode 100644 index 0000000..eed896b --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v18/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943371+09:00", + "updated_at": "2026-06-11T11:20:02.294962+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v19/portfolio.json b/agents/stock/workspace/state/sim/variants/v19/portfolio.json new file mode 100644 index 0000000..aae7dcb --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v19/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943381+09:00", + "updated_at": "2026-06-11T11:20:02.298815+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v2/portfolio.json b/agents/stock/workspace/state/sim/variants/v2/portfolio.json new file mode 100644 index 0000000..98f1c02 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v2/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943203+09:00", + "updated_at": "2026-06-11T11:20:01.463659+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v20/portfolio.json b/agents/stock/workspace/state/sim/variants/v20/portfolio.json new file mode 100644 index 0000000..960cae2 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v20/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943391+09:00", + "updated_at": "2026-06-11T11:20:02.301973+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v21/portfolio.json b/agents/stock/workspace/state/sim/variants/v21/portfolio.json new file mode 100644 index 0000000..7df69db --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v21/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943400+09:00", + "updated_at": "2026-06-11T11:20:02.304954+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v22/portfolio.json b/agents/stock/workspace/state/sim/variants/v22/portfolio.json new file mode 100644 index 0000000..a596eae --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v22/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943410+09:00", + "updated_at": "2026-06-11T11:20:02.307938+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v23/portfolio.json b/agents/stock/workspace/state/sim/variants/v23/portfolio.json new file mode 100644 index 0000000..f1785a6 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v23/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943420+09:00", + "updated_at": "2026-06-11T11:20:02.310478+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v24/portfolio.json b/agents/stock/workspace/state/sim/variants/v24/portfolio.json new file mode 100644 index 0000000..7ccd75d --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v24/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943430+09:00", + "updated_at": "2026-06-11T11:20:02.313039+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v25/portfolio.json b/agents/stock/workspace/state/sim/variants/v25/portfolio.json new file mode 100644 index 0000000..efbc1e3 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v25/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943440+09:00", + "updated_at": "2026-06-11T11:20:02.315363+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v26/portfolio.json b/agents/stock/workspace/state/sim/variants/v26/portfolio.json new file mode 100644 index 0000000..5e0d171 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v26/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943450+09:00", + "updated_at": "2026-06-11T11:20:02.317659+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v27/portfolio.json b/agents/stock/workspace/state/sim/variants/v27/portfolio.json new file mode 100644 index 0000000..4ea81a2 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v27/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943460+09:00", + "updated_at": "2026-06-11T11:20:02.319824+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v28/portfolio.json b/agents/stock/workspace/state/sim/variants/v28/portfolio.json new file mode 100644 index 0000000..32719e5 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v28/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943470+09:00", + "updated_at": "2026-06-11T11:20:02.321996+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v29/portfolio.json b/agents/stock/workspace/state/sim/variants/v29/portfolio.json new file mode 100644 index 0000000..e7d50f9 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v29/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943480+09:00", + "updated_at": "2026-06-11T11:20:02.324000+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v3/portfolio.json b/agents/stock/workspace/state/sim/variants/v3/portfolio.json new file mode 100644 index 0000000..31b0bcc --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v3/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943216+09:00", + "updated_at": "2026-06-11T11:20:01.466664+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v30/portfolio.json b/agents/stock/workspace/state/sim/variants/v30/portfolio.json new file mode 100644 index 0000000..10063d1 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v30/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943489+09:00", + "updated_at": "2026-06-11T11:20:02.325961+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v31/portfolio.json b/agents/stock/workspace/state/sim/variants/v31/portfolio.json new file mode 100644 index 0000000..9d629d8 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v31/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943499+09:00", + "updated_at": "2026-06-11T11:20:02.327802+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v32/portfolio.json b/agents/stock/workspace/state/sim/variants/v32/portfolio.json new file mode 100644 index 0000000..535e178 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v32/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943509+09:00", + "updated_at": "2026-06-11T11:20:02.329561+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v33/portfolio.json b/agents/stock/workspace/state/sim/variants/v33/portfolio.json new file mode 100644 index 0000000..d8409c1 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v33/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943518+09:00", + "updated_at": "2026-06-11T11:20:02.331301+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v34/portfolio.json b/agents/stock/workspace/state/sim/variants/v34/portfolio.json new file mode 100644 index 0000000..2bd94d6 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v34/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943528+09:00", + "updated_at": "2026-06-11T11:20:02.332925+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v35/portfolio.json b/agents/stock/workspace/state/sim/variants/v35/portfolio.json new file mode 100644 index 0000000..b5c542e --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v35/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943540+09:00", + "updated_at": "2026-06-11T11:20:02.334560+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v36/portfolio.json b/agents/stock/workspace/state/sim/variants/v36/portfolio.json new file mode 100644 index 0000000..712e8da --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v36/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943551+09:00", + "updated_at": "2026-06-11T11:20:02.336195+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v37/portfolio.json b/agents/stock/workspace/state/sim/variants/v37/portfolio.json new file mode 100644 index 0000000..d099d75 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v37/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943560+09:00", + "updated_at": "2026-06-11T11:20:02.337809+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v38/portfolio.json b/agents/stock/workspace/state/sim/variants/v38/portfolio.json new file mode 100644 index 0000000..e1afa31 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v38/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943570+09:00", + "updated_at": "2026-06-11T11:20:02.339489+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v39/portfolio.json b/agents/stock/workspace/state/sim/variants/v39/portfolio.json new file mode 100644 index 0000000..8bbef6a --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v39/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943580+09:00", + "updated_at": "2026-06-11T11:20:02.341022+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v4/portfolio.json b/agents/stock/workspace/state/sim/variants/v4/portfolio.json new file mode 100644 index 0000000..6fba660 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v4/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943227+09:00", + "updated_at": "2026-06-11T11:20:01.469146+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v40/portfolio.json b/agents/stock/workspace/state/sim/variants/v40/portfolio.json new file mode 100644 index 0000000..a165d0d --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v40/portfolio.json @@ -0,0 +1,35 @@ +{ + "cash": 93897084.7, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 27, + "entry_price": 226000, + "entry_at": "2026-06-11T10:25:02.147016+09:00", + "stop": 195800, + "target": 316600, + "peak": 226000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 6250000.0, + "last_add_price": 226000 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0013591529999999702, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943590+09:00", + "updated_at": "2026-06-11T11:20:02.342568+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 new file mode 100644 index 0000000..b55f94a --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v40/trades.jsonl @@ -0,0 +1 @@ +{"ts": "2026-06-11T10:25:02.147018+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 27, "cost": 6102915, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 316600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v41/portfolio.json b/agents/stock/workspace/state/sim/variants/v41/portfolio.json new file mode 100644 index 0000000..122ba2c --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v41/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943599+09:00", + "updated_at": "2026-06-11T11:20:02.344126+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v42/portfolio.json b/agents/stock/workspace/state/sim/variants/v42/portfolio.json new file mode 100644 index 0000000..32bb174 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v42/portfolio.json @@ -0,0 +1,35 @@ +{ + "cash": 93897084.7, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 27, + "entry_price": 226000, + "entry_at": "2026-06-11T10:25:02.151149+09:00", + "stop": 195800, + "target": 271300, + "peak": 226000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 6250000.0, + "last_add_price": 226000 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0013591529999999702, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943609+09:00", + "updated_at": "2026-06-11T11:20:02.345749+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v42/trades.jsonl b/agents/stock/workspace/state/sim/variants/v42/trades.jsonl new file mode 100644 index 0000000..308e8b4 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v42/trades.jsonl @@ -0,0 +1 @@ +{"ts": "2026-06-11T10:25:02.151151+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 27, "cost": 6102915, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 271300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v43/portfolio.json b/agents/stock/workspace/state/sim/variants/v43/portfolio.json new file mode 100644 index 0000000..0ccccc4 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v43/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943619+09:00", + "updated_at": "2026-06-11T11:20:02.347238+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v44/portfolio.json b/agents/stock/workspace/state/sim/variants/v44/portfolio.json new file mode 100644 index 0000000..b42f60d --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v44/portfolio.json @@ -0,0 +1,35 @@ +{ + "cash": 93897084.7, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 27, + "entry_price": 226000, + "entry_at": "2026-06-11T10:25:02.154758+09:00", + "stop": 195800, + "target": 286400, + "peak": 226000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 6250000.0, + "last_add_price": 226000 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0013591529999999702, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943633+09:00", + "updated_at": "2026-06-11T11:20:02.348704+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v44/trades.jsonl b/agents/stock/workspace/state/sim/variants/v44/trades.jsonl new file mode 100644 index 0000000..c27246a --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v44/trades.jsonl @@ -0,0 +1 @@ +{"ts": "2026-06-11T10:25:02.154760+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 27, "cost": 6102915, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 286400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v45/portfolio.json b/agents/stock/workspace/state/sim/variants/v45/portfolio.json new file mode 100644 index 0000000..70d370e --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v45/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943643+09:00", + "updated_at": "2026-06-11T11:20:02.350094+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v46/portfolio.json b/agents/stock/workspace/state/sim/variants/v46/portfolio.json new file mode 100644 index 0000000..278c70c --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v46/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943653+09:00", + "updated_at": "2026-06-11T11:20:02.351439+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v47/portfolio.json b/agents/stock/workspace/state/sim/variants/v47/portfolio.json new file mode 100644 index 0000000..04ee526 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v47/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943663+09:00", + "updated_at": "2026-06-11T11:20:02.352795+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v48/portfolio.json b/agents/stock/workspace/state/sim/variants/v48/portfolio.json new file mode 100644 index 0000000..2f6ae68 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v48/portfolio.json @@ -0,0 +1,35 @@ +{ + "cash": 96383457.6, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 16, + "entry_price": 226000, + "entry_at": "2026-06-11T10:25:02.161225+09:00", + "stop": 195800, + "target": 286400, + "peak": 226000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 3741721.8543046354, + "last_add_price": 226000 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0008054240000000596, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943673+09:00", + "updated_at": "2026-06-11T11:20:02.354131+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v48/trades.jsonl b/agents/stock/workspace/state/sim/variants/v48/trades.jsonl new file mode 100644 index 0000000..61d477b --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v48/trades.jsonl @@ -0,0 +1 @@ +{"ts": "2026-06-11T10:25:02.161226+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 16, "cost": 3616542, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 286400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v49/portfolio.json b/agents/stock/workspace/state/sim/variants/v49/portfolio.json new file mode 100644 index 0000000..0d7153e --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v49/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943683+09:00", + "updated_at": "2026-06-11T11:20:02.355430+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v5/portfolio.json b/agents/stock/workspace/state/sim/variants/v5/portfolio.json new file mode 100644 index 0000000..fba58d9 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v5/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943238+09:00", + "updated_at": "2026-06-11T11:20:01.471616+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v50/portfolio.json b/agents/stock/workspace/state/sim/variants/v50/portfolio.json new file mode 100644 index 0000000..d7bb3ca --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v50/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943693+09:00", + "updated_at": "2026-06-11T11:20:02.356726+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v51/portfolio.json b/agents/stock/workspace/state/sim/variants/v51/portfolio.json new file mode 100644 index 0000000..162783a --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v51/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943703+09:00", + "updated_at": "2026-06-11T11:20:02.358010+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v52/portfolio.json b/agents/stock/workspace/state/sim/variants/v52/portfolio.json new file mode 100644 index 0000000..935d784 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v52/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943713+09:00", + "updated_at": "2026-06-11T11:20:02.359272+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v53/portfolio.json b/agents/stock/workspace/state/sim/variants/v53/portfolio.json new file mode 100644 index 0000000..1205eef --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v53/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943722+09:00", + "updated_at": "2026-06-11T11:20:02.360501+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v54/portfolio.json b/agents/stock/workspace/state/sim/variants/v54/portfolio.json new file mode 100644 index 0000000..966b5fc --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v54/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943732+09:00", + "updated_at": "2026-06-11T11:20:02.361737+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v55/portfolio.json b/agents/stock/workspace/state/sim/variants/v55/portfolio.json new file mode 100644 index 0000000..4d1d76a --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v55/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943741+09:00", + "updated_at": "2026-06-11T11:20:02.362969+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v56/portfolio.json b/agents/stock/workspace/state/sim/variants/v56/portfolio.json new file mode 100644 index 0000000..8c4d744 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v56/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943751+09:00", + "updated_at": "2026-06-11T11:20:02.364127+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v57/portfolio.json b/agents/stock/workspace/state/sim/variants/v57/portfolio.json new file mode 100644 index 0000000..5c474d6 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v57/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943761+09:00", + "updated_at": "2026-06-11T11:20:02.365282+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v58/portfolio.json b/agents/stock/workspace/state/sim/variants/v58/portfolio.json new file mode 100644 index 0000000..8301d1c --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v58/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943771+09:00", + "updated_at": "2026-06-11T11:20:02.366441+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v59/portfolio.json b/agents/stock/workspace/state/sim/variants/v59/portfolio.json new file mode 100644 index 0000000..6f3bfbc --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v59/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943780+09:00", + "updated_at": "2026-06-11T11:20:02.367584+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v6/portfolio.json b/agents/stock/workspace/state/sim/variants/v6/portfolio.json new file mode 100644 index 0000000..e27b511 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v6/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943248+09:00", + "updated_at": "2026-06-11T11:20:01.473813+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v60/portfolio.json b/agents/stock/workspace/state/sim/variants/v60/portfolio.json new file mode 100644 index 0000000..f5ee4f4 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v60/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943790+09:00", + "updated_at": "2026-06-11T11:20:02.368722+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v61/portfolio.json b/agents/stock/workspace/state/sim/variants/v61/portfolio.json new file mode 100644 index 0000000..184c42a --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v61/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943802+09:00", + "updated_at": "2026-06-11T11:20:02.369915+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v62/portfolio.json b/agents/stock/workspace/state/sim/variants/v62/portfolio.json new file mode 100644 index 0000000..055053b --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v62/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 88242436.63000001, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 28, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:18.583852+09:00", + "stop": 195800, + "target": 294600, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 6250000.0, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 63, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:18.994914+09:00", + "stop": 72800, + "target": 136000, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 5607543.004772153, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100454286.63000001, + "max_drawdown": 0.0028953468264751934, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943812+09:00", + "updated_at": "2026-06-11T11:20:02.371103+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v62/trades.jsonl b/agents/stock/workspace/state/sim/variants/v62/trades.jsonl new file mode 100644 index 0000000..1fc0a5e --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v62/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:18.583865+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 28, "cost": 6174926, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 294600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:18.994932+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 63, "cost": 5582637, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 136000, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v63/portfolio.json b/agents/stock/workspace/state/sim/variants/v63/portfolio.json new file mode 100644 index 0000000..bcc5437 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v63/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943822+09:00", + "updated_at": "2026-06-11T11:20:02.372328+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v64/portfolio.json b/agents/stock/workspace/state/sim/variants/v64/portfolio.json new file mode 100644 index 0000000..e844c83 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v64/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 88242436.63000001, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 28, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:19.195639+09:00", + "stop": 195800, + "target": 257550, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 6250000.0, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 63, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:19.197119+09:00", + "stop": 72800, + "target": 112300, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 5607543.004772153, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100454286.63000001, + "max_drawdown": 0.0028953468264751934, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943832+09:00", + "updated_at": "2026-06-11T11:20:02.373529+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v64/trades.jsonl b/agents/stock/workspace/state/sim/variants/v64/trades.jsonl new file mode 100644 index 0000000..b1acb85 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v64/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:19.195649+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 28, "cost": 6174926, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 257550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:19.197125+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 63, "cost": 5582637, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 112300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v65/portfolio.json b/agents/stock/workspace/state/sim/variants/v65/portfolio.json new file mode 100644 index 0000000..ad88133 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v65/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943843+09:00", + "updated_at": "2026-06-11T11:20:02.374735+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v66/portfolio.json b/agents/stock/workspace/state/sim/variants/v66/portfolio.json new file mode 100644 index 0000000..29939c9 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v66/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 88242436.63000001, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 28, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:19.398879+09:00", + "stop": 195800, + "target": 269900, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 6250000.0, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 63, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:19.400261+09:00", + "stop": 72800, + "target": 120200, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 5607543.004772153, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100454286.63000001, + "max_drawdown": 0.0028953468264751934, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943852+09:00", + "updated_at": "2026-06-11T11:20:02.375923+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v66/trades.jsonl b/agents/stock/workspace/state/sim/variants/v66/trades.jsonl new file mode 100644 index 0000000..3226eeb --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v66/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:19.398889+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 28, "cost": 6174926, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 269900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:19.400267+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 63, "cost": 5582637, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 120200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v67/portfolio.json b/agents/stock/workspace/state/sim/variants/v67/portfolio.json new file mode 100644 index 0000000..812c9ee --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v67/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943862+09:00", + "updated_at": "2026-06-11T11:20:02.377134+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v68/portfolio.json b/agents/stock/workspace/state/sim/variants/v68/portfolio.json new file mode 100644 index 0000000..fe35089 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v68/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:19.595565+09:00", + "stop": 195800, + "target": 294600, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:19.596867+09:00", + "stop": 72800, + "target": 136000, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943872+09:00", + "updated_at": "2026-06-11T11:20:02.378346+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v68/trades.jsonl b/agents/stock/workspace/state/sim/variants/v68/trades.jsonl new file mode 100644 index 0000000..223fcb3 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v68/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:19.595575+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 294600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:19.596873+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 136000, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v69/portfolio.json b/agents/stock/workspace/state/sim/variants/v69/portfolio.json new file mode 100644 index 0000000..13e63e9 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v69/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943883+09:00", + "updated_at": "2026-06-11T11:20:02.379559+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v7/portfolio.json b/agents/stock/workspace/state/sim/variants/v7/portfolio.json new file mode 100644 index 0000000..e6778bb --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v7/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943259+09:00", + "updated_at": "2026-06-11T11:20:01.475995+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v70/portfolio.json b/agents/stock/workspace/state/sim/variants/v70/portfolio.json new file mode 100644 index 0000000..7551920 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v70/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:19.794837+09:00", + "stop": 195800, + "target": 257550, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:19.796007+09:00", + "stop": 72800, + "target": 112300, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943893+09:00", + "updated_at": "2026-06-11T11:20:02.380743+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v70/trades.jsonl b/agents/stock/workspace/state/sim/variants/v70/trades.jsonl new file mode 100644 index 0000000..9a05fea --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v70/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:19.794845+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 257550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:19.796013+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 112300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v71/portfolio.json b/agents/stock/workspace/state/sim/variants/v71/portfolio.json new file mode 100644 index 0000000..188195e --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v71/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943903+09:00", + "updated_at": "2026-06-11T11:20:02.381985+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v72/portfolio.json b/agents/stock/workspace/state/sim/variants/v72/portfolio.json new file mode 100644 index 0000000..56d69a2 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v72/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:20.005415+09:00", + "stop": 195800, + "target": 269900, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:20.006899+09:00", + "stop": 72800, + "target": 120200, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943912+09:00", + "updated_at": "2026-06-11T11:20:02.383177+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v72/trades.jsonl b/agents/stock/workspace/state/sim/variants/v72/trades.jsonl new file mode 100644 index 0000000..e6b6109 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v72/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:20.005424+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 269900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:20.006906+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 120200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v73/portfolio.json b/agents/stock/workspace/state/sim/variants/v73/portfolio.json new file mode 100644 index 0000000..99b79dc --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v73/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943922+09:00", + "updated_at": "2026-06-11T11:20:02.384385+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v74/portfolio.json b/agents/stock/workspace/state/sim/variants/v74/portfolio.json new file mode 100644 index 0000000..6c4267c --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v74/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:20.219171+09:00", + "stop": 195800, + "target": 294600, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:20.220581+09:00", + "stop": 72800, + "target": 136000, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943932+09:00", + "updated_at": "2026-06-11T11:20:02.385575+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v74/trades.jsonl b/agents/stock/workspace/state/sim/variants/v74/trades.jsonl new file mode 100644 index 0000000..7a93af5 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v74/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:20.219181+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 294600, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:20.220585+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 136000, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v75/portfolio.json b/agents/stock/workspace/state/sim/variants/v75/portfolio.json new file mode 100644 index 0000000..e5878e7 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v75/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943941+09:00", + "updated_at": "2026-06-11T11:20:02.386784+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v76/portfolio.json b/agents/stock/workspace/state/sim/variants/v76/portfolio.json new file mode 100644 index 0000000..094a00f --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v76/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:20.416498+09:00", + "stop": 195800, + "target": 269900, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:20.417864+09:00", + "stop": 72800, + "target": 120200, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943951+09:00", + "updated_at": "2026-06-11T11:20:02.387970+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v76/trades.jsonl b/agents/stock/workspace/state/sim/variants/v76/trades.jsonl new file mode 100644 index 0000000..5972c76 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v76/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:20.416508+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 269900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:20.417871+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 120200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v77/portfolio.json b/agents/stock/workspace/state/sim/variants/v77/portfolio.json new file mode 100644 index 0000000..3942325 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v77/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943960+09:00", + "updated_at": "2026-06-11T11:20:02.389225+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v78/portfolio.json b/agents/stock/workspace/state/sim/variants/v78/portfolio.json new file mode 100644 index 0000000..b4fcb52 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v78/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:20.614233+09:00", + "stop": 195800, + "target": 257550, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 219,919 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:20.615797+09:00", + "stop": 72800, + "target": 112300, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 96,991 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943970+09:00", + "updated_at": "2026-06-11T11:20:02.390424+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v78/trades.jsonl b/agents/stock/workspace/state/sim/variants/v78/trades.jsonl new file mode 100644 index 0000000..d5425dd --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v78/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:20.614244+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 219,919 도달", "stop": 195800, "target": 257550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 219,919 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:20.615805+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 96,991 도달", "stop": 72800, "target": 112300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 96,991 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v79/portfolio.json b/agents/stock/workspace/state/sim/variants/v79/portfolio.json new file mode 100644 index 0000000..0e5a992 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v79/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943979+09:00", + "updated_at": "2026-06-11T11:20:02.391632+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v8/portfolio.json b/agents/stock/workspace/state/sim/variants/v8/portfolio.json new file mode 100644 index 0000000..e083967 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v8/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943269+09:00", + "updated_at": "2026-06-11T11:20:01.478170+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v80/portfolio.json b/agents/stock/workspace/state/sim/variants/v80/portfolio.json new file mode 100644 index 0000000..536a45c --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v80/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:20.825826+09:00", + "stop": 195800, + "target": 269900, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:20.827206+09:00", + "stop": 72800, + "target": 120200, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 103,828 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943989+09:00", + "updated_at": "2026-06-11T11:20:02.392814+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v80/trades.jsonl b/agents/stock/workspace/state/sim/variants/v80/trades.jsonl new file mode 100644 index 0000000..a2227bd --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v80/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:20.825835+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 269900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:20.827211+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 103,828 도달", "stop": 72800, "target": 120200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 103,828 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v81/portfolio.json b/agents/stock/workspace/state/sim/variants/v81/portfolio.json new file mode 100644 index 0000000..9ee4061 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v81/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943999+09:00", + "updated_at": "2026-06-11T11:20:02.393989+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v82/portfolio.json b/agents/stock/workspace/state/sim/variants/v82/portfolio.json new file mode 100644 index 0000000..84451ae --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v82/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944008+09:00", + "updated_at": "2026-06-11T11:20:02.395158+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v83/portfolio.json b/agents/stock/workspace/state/sim/variants/v83/portfolio.json new file mode 100644 index 0000000..b28b1d9 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v83/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944018+09:00", + "updated_at": "2026-06-11T11:20:02.396332+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v84/portfolio.json b/agents/stock/workspace/state/sim/variants/v84/portfolio.json new file mode 100644 index 0000000..9b75dbd --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v84/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:21.233437+09:00", + "stop": 195800, + "target": 269900, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:21.234913+09:00", + "stop": 72800, + "target": 120200, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 103,828 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944028+09:00", + "updated_at": "2026-06-11T11:20:02.397509+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v84/trades.jsonl b/agents/stock/workspace/state/sim/variants/v84/trades.jsonl new file mode 100644 index 0000000..ebf7dcf --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v84/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:21.233446+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 269900, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:21.234921+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 103,828 도달", "stop": 72800, "target": 120200, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 103,828 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v85/portfolio.json b/agents/stock/workspace/state/sim/variants/v85/portfolio.json new file mode 100644 index 0000000..9c4bea5 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v85/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944038+09:00", + "updated_at": "2026-06-11T11:20:02.398731+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v86/portfolio.json b/agents/stock/workspace/state/sim/variants/v86/portfolio.json new file mode 100644 index 0000000..29ad448 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v86/portfolio.json @@ -0,0 +1,56 @@ +{ + "cash": 92842326.51, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 20, + "entry_price": 220500, + "entry_at": "2026-06-11T09:00:21.436026+09:00", + "stop": 195800, + "target": 257550, + "peak": 227500, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 4463562.753036438, + "last_add_price": 220500 + }, + "064400": { + "code": "064400", + "name": "LG씨엔에스", + "sources": [ + "interest" + ], + "qty": 31, + "entry_price": 88600, + "entry_at": "2026-06-11T09:00:21.437351+09:00", + "stop": 72800, + "target": 112300, + "peak": 93900, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 103,828 도달", + "cur_price": 91000, + "tranches": 1, + "tranche_value": 2803778.9212341774, + "last_add_price": 88600 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100263776.51, + "max_drawdown": 0.0017997526752047133, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944049+09:00", + "updated_at": "2026-06-11T11:20:02.399908+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v86/trades.jsonl b/agents/stock/workspace/state/sim/variants/v86/trades.jsonl new file mode 100644 index 0000000..57d67a1 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v86/trades.jsonl @@ -0,0 +1,2 @@ +{"ts": "2026-06-11T09:00:21.436036+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 220500, "qty": 20, "cost": 4410662, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 257550, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "219,000 vs 217,998"}, {"label": "정배열(5>20)", "ok": true, "detail": "255,600 / 217,998"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "255,600 / 215,382"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+4.7%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -136 · 기 +1,176 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+50%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "2.41% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": false, "detail": "3,773,113 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": false, "detail": "2.41% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "47"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 219,000)"}]} +{"ts": "2026-06-11T09:00:21.437357+09:00", "side": "BUY", "code": "064400", "name": "LG씨엔에스", "price": 88600, "qty": 31, "cost": 2747012, "path": "pullback", "reason": "눌림목 지정가 103,828 도달", "stop": 72800, "target": 112300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "88,000 vs 78,822"}, {"label": "정배열(5>20)", "ok": true, "detail": "122,260 / 78,822"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "122,260 / 73,337"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+31.1%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 +980 · 기 -117 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+8%"}, {"label": "목표가 리비전", "ok": true, "detail": "상향 ➕"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "3.58% (환산) vs 평균 4.14% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 153,300"}, {"label": "거래량 급증", "ok": false, "detail": "3,466,467 (환산) vs 평균 4,014,817"}, {"label": "회전율 급증", "ok": false, "detail": "3.58% (환산) vs 평균 4.14%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 103,828 (현재 88,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v87/portfolio.json b/agents/stock/workspace/state/sim/variants/v87/portfolio.json new file mode 100644 index 0000000..fc1e4d8 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v87/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944063+09:00", + "updated_at": "2026-06-11T11:20:02.401056+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v88/portfolio.json b/agents/stock/workspace/state/sim/variants/v88/portfolio.json new file mode 100644 index 0000000..1dfbdff --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v88/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944073+09:00", + "updated_at": "2026-06-11T11:20:02.402194+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v89/portfolio.json b/agents/stock/workspace/state/sim/variants/v89/portfolio.json new file mode 100644 index 0000000..9624d05 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v89/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944112+09:00", + "updated_at": "2026-06-11T11:20:02.403315+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v9/portfolio.json b/agents/stock/workspace/state/sim/variants/v9/portfolio.json new file mode 100644 index 0000000..653c655 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v9/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.943279+09:00", + "updated_at": "2026-06-11T11:20:01.480324+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v90/portfolio.json b/agents/stock/workspace/state/sim/variants/v90/portfolio.json new file mode 100644 index 0000000..2a5e5e7 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v90/portfolio.json @@ -0,0 +1,35 @@ +{ + "cash": 96383457.6, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 16, + "entry_price": 226000, + "entry_at": "2026-06-11T10:25:02.213678+09:00", + "stop": 195800, + "target": 286400, + "peak": 226000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 3741721.8543046354, + "last_add_price": 226000 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0008054240000000596, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944122+09:00", + "updated_at": "2026-06-11T11:20:02.404454+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v90/trades.jsonl b/agents/stock/workspace/state/sim/variants/v90/trades.jsonl new file mode 100644 index 0000000..2db3b0b --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v90/trades.jsonl @@ -0,0 +1 @@ +{"ts": "2026-06-11T10:25:02.213680+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 16, "cost": 3616542, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 286400, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v91/portfolio.json b/agents/stock/workspace/state/sim/variants/v91/portfolio.json new file mode 100644 index 0000000..52c8bc3 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v91/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944132+09:00", + "updated_at": "2026-06-11T11:20:02.405593+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v92/portfolio.json b/agents/stock/workspace/state/sim/variants/v92/portfolio.json new file mode 100644 index 0000000..6d845d5 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v92/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944142+09:00", + "updated_at": "2026-06-11T11:20:02.406730+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v93/portfolio.json b/agents/stock/workspace/state/sim/variants/v93/portfolio.json new file mode 100644 index 0000000..77d951b --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v93/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944152+09:00", + "updated_at": "2026-06-11T11:20:02.407864+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v94/portfolio.json b/agents/stock/workspace/state/sim/variants/v94/portfolio.json new file mode 100644 index 0000000..8a6671f --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v94/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944162+09:00", + "updated_at": "2026-06-11T11:20:02.409000+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v95/portfolio.json b/agents/stock/workspace/state/sim/variants/v95/portfolio.json new file mode 100644 index 0000000..80f7b57 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v95/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944172+09:00", + "updated_at": "2026-06-11T11:20:02.410126+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v96/portfolio.json b/agents/stock/workspace/state/sim/variants/v96/portfolio.json new file mode 100644 index 0000000..2af1ac7 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v96/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944181+09:00", + "updated_at": "2026-06-11T11:20:02.411262+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v97/portfolio.json b/agents/stock/workspace/state/sim/variants/v97/portfolio.json new file mode 100644 index 0000000..c928899 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v97/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944191+09:00", + "updated_at": "2026-06-11T11:20:02.412392+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v98/portfolio.json b/agents/stock/workspace/state/sim/variants/v98/portfolio.json new file mode 100644 index 0000000..3ad2343 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v98/portfolio.json @@ -0,0 +1,35 @@ +{ + "cash": 96383457.6, + "initial": 100000000, + "positions": { + "035420": { + "code": "035420", + "name": "NAVER", + "sources": [ + "interest" + ], + "qty": 16, + "entry_price": 226000, + "entry_at": "2026-06-11T10:25:02.222835+09:00", + "stop": 195800, + "target": 271300, + "peak": 226000, + "trailing_on": false, + "scaled_out": false, + "entry_path": "pullback", + "entry_reason": "눌림목 지정가 232,280 도달", + "cur_price": 221000, + "tranches": 1, + "tranche_value": 3741721.8543046354, + "last_add_price": 226000 + } + }, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0008054240000000596, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944200+09:00", + "updated_at": "2026-06-11T11:20:02.413542+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/variants/v98/trades.jsonl b/agents/stock/workspace/state/sim/variants/v98/trades.jsonl new file mode 100644 index 0000000..65bf809 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v98/trades.jsonl @@ -0,0 +1 @@ +{"ts": "2026-06-11T10:25:02.222836+09:00", "side": "BUY", "code": "035420", "name": "NAVER", "price": 226000, "qty": 16, "cost": 3616542, "path": "pullback", "reason": "눌림목 지정가 232,280 도달", "stop": 195800, "target": 271300, "signals": [{"label": "추세(20일선 위)", "ok": true, "detail": "226,000 vs 224,445"}, {"label": "정배열(5>20)", "ok": true, "detail": "257,000 / 224,445"}, {"label": "추세 기울기(20일선↑)", "ok": true, "detail": "우상향"}, {"label": "중기 정배열(5>60)", "ok": true, "detail": "257,000 / 215,498"}, {"label": "상대강도(시장대비)", "ok": true, "detail": "+6.3%p"}, {"label": "수급(5일 외/기)", "ok": true, "detail": "외 -85 · 기 +1,187 (천주)"}, {"label": "투자의견", "ok": true, "detail": "4.0/5"}, {"label": "상승여력", "ok": true, "detail": "+45%"}, {"label": "어닝 서프라이즈", "ok": true, "detail": "+ ➕"}, {"label": "시장 강세", "ok": false, "detail": "약세 — 돌파만 허용"}, {"label": "과열 아님(회전율)", "ok": true, "detail": "6.51% (환산) vs 평균 2.17% (보류 3배↑)"}, {"label": "돌파(전고점)", "ok": false, "detail": "고점 304,000"}, {"label": "거래량 급증", "ok": true, "detail": "10,205,151 (환산) vs 평균 3,404,288"}, {"label": "회전율 급증", "ok": true, "detail": "6.51% (환산) vs 평균 2.17%"}, {"label": "RSI", "ok": true, "detail": "49"}, {"label": "눌림목 도달", "ok": true, "detail": "지정가 232,280 (현재 226,000)"}]} diff --git a/agents/stock/workspace/state/sim/variants/v99/portfolio.json b/agents/stock/workspace/state/sim/variants/v99/portfolio.json new file mode 100644 index 0000000..e2bab84 --- /dev/null +++ b/agents/stock/workspace/state/sim/variants/v99/portfolio.json @@ -0,0 +1,13 @@ +{ + "cash": 100000000, + "initial": 100000000, + "positions": {}, + "realized_pnl": 0.0, + "closed_trades": 0, + "wins": 0, + "peak_equity": 100000000, + "max_drawdown": 0.0, + "last_exit": {}, + "created_at": "2026-06-11T09:00:01.944212+09:00", + "updated_at": "2026-06-11T11:20:02.414692+09:00" +} \ No newline at end of file diff --git a/agents/stock/workspace/state/sim/watchlist.json b/agents/stock/workspace/state/sim/watchlist.json new file mode 100644 index 0000000..f6e9265 --- /dev/null +++ b/agents/stock/workspace/state/sim/watchlist.json @@ -0,0 +1,282 @@ +{ + "254490": { + "name": "미래반도체", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "299030": { + "name": "하나기술", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "399720": { + "name": "가온칩스", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "083500": { + "name": "에프엔에스테크", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "382840": { + "name": "원준", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "282880": { + "name": "코윈테크", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "054090": { + "name": "삼진엘앤디", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "012210": { + "name": "삼미금속", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "405100": { + "name": "큐알티", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "089010": { + "name": "켐트로닉스", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "475150": { + "name": "SK이터닉스", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "059090": { + "name": "미코", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "083450": { + "name": "GST", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "100120": { + "name": "뷰웍스", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "011700": { + "name": "한신기계", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "076610": { + "name": "해성옵틱스", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "002780": { + "name": "진흥기업", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "066570": { + "name": "LG전자", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "003550": { + "name": "LG", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "007660": { + "name": "이수페타시스", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "034220": { + "name": "LG디스플레이", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "033640": { + "name": "네패스", + "origin": "watch", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "006800": { + "name": "미래에셋증권", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "010170": { + "name": "대한광통신", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "327260": { + "name": "RF머트리얼즈", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "144600": { + "name": "KODEX 은선물(H)", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "035420": { + "name": "NAVER", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "466920": { + "name": "SOL 조선TOP3플러스", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "017670": { + "name": "SK텔레콤", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "277810": { + "name": "레인보우로보틱스", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "035900": { + "name": "JYP Ent.", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "042700": { + "name": "한미반도체", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "379800": { + "name": "KODEX 미국S&P500", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "160580": { + "name": "TIGER 구리실물", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "010120": { + "name": "LS ELECTRIC", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "278470": { + "name": "에이피알", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "005380": { + "name": "현대차", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "005935": { + "name": "삼성전자우", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "0193W0": { + "name": "KODEX 삼성전자단일종목레버리지", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "0193T0": { + "name": "KODEX SK하이닉스단일종목레버리지", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "360200": { + "name": "ACE 미국S&P500", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "064400": { + "name": "LG씨엔에스", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "009150": { + "name": "삼성전기", + "origin": "interest", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "102110": { + "name": "TIGER 200", + "origin": "held", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "487240": { + "name": "KODEX AI전력핵심설비", + "origin": "held", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "233740": { + "name": "KODEX 코스닥150레버리지", + "origin": "held", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "0154F0": { + "name": "WON 초대형IB&금융지주", + "origin": "held", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "090350": { + "name": "노루페인트", + "origin": "held", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "237750": { + "name": "피앤씨테크", + "origin": "held", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "006730": { + "name": "서부T&D", + "origin": "held", + "added_at": "2026-06-08T23:41:34.255878+09:00" + }, + "294630": { + "name": "서남", + "origin": "watch", + "added_at": "2026-06-08T23:42:08.808426+09:00" + }, + "009470": { + "name": "삼화전기", + "origin": "watch", + "added_at": "2026-06-08T23:43:03.640885+09:00" + }, + "000660": { + "name": "SK하이닉스", + "origin": "held", + "added_at": "2026-06-08T23:43:03.768458+09:00" + }, + "005930": { + "name": "삼성전자", + "origin": "held", + "added_at": "2026-06-08T23:49:35.655591+09:00" + }, + "012450": { + "name": "한화에어로스페이스", + "origin": "interest", + "added_at": "2026-06-10T08:42:09.211194+09:00" + }, + "0180V0": { + "name": "ACE 미국우주테크액티브", + "origin": "interest", + "added_at": "2026-06-11T09:00:01.944670+09:00" + } +} \ No newline at end of file