{ "technique_id": "zigzag_causal", "technique_name": "인과 ZigZag", "category": "swing", "causal": true, "description": "되돌림 % 확정 시 스윙 저점 매수·고점 매도 (GT ZigZag 인과 버전)", "params": { "interval_min": 3, "lookback_days": 365, "min_leg_pct": 3.0, "initial_cash_krw": 400000.0, "fee_rate": 0.0005, "reversal_pct": 5.0 }, "signals": [ { "side": "buy", "bar_index": 7372, "price": 137200000.0, "datetime": "2025-06-24 06:15:00", "pivot_bar_index": 6873, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 22377, "price": 166969000.0, "datetime": "2025-07-25 12:30:00", "pivot_bar_index": 17179, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 30507, "price": 156713000.0, "datetime": "2025-08-11 11:00:00", "pivot_bar_index": 26640, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 33753, "price": 169900000.0, "datetime": "2025-08-18 11:15:00", "pivot_bar_index": 31918, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 42457, "price": 149140000.0, "datetime": "2025-09-05 16:00:00", "pivot_bar_index": 40534, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 59401, "price": 179734000.0, "datetime": "2025-10-11 06:12:00", "pivot_bar_index": 58757, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 64557, "price": 159762000.0, "datetime": "2025-10-22 00:00:00", "pivot_bar_index": 62545, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 68666, "price": 171490000.0, "datetime": "2025-10-30 13:27:00", "pivot_bar_index": 67279, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 71734, "price": 146822000.0, "datetime": "2025-11-05 22:51:00", "pivot_bar_index": 71490, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 75635, "price": 159000000.0, "datetime": "2025-11-14 01:54:00", "pivot_bar_index": 74364, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 78026, "price": 132269000.0, "datetime": "2025-11-19 01:27:00", "pivot_bar_index": 77834, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 78990, "price": 139221000.0, "datetime": "2025-11-21 01:39:00", "pivot_bar_index": 78029, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 79428, "price": 121469000.0, "datetime": "2025-11-21 23:33:00", "pivot_bar_index": 79386, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 83818, "price": 138982000.0, "datetime": "2025-12-01 09:30:00", "pivot_bar_index": 82658, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 84572, "price": 125743000.0, "datetime": "2025-12-02 23:12:00", "pivot_bar_index": 84123, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 86058, "price": 139950000.0, "datetime": "2025-12-06 01:30:00", "pivot_bar_index": 84899, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 87968, "price": 131422000.0, "datetime": "2025-12-10 01:00:00", "pivot_bar_index": 86979, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 90282, "price": 139840000.0, "datetime": "2025-12-14 20:42:00", "pivot_bar_index": 87990, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 91788, "price": 127025000.0, "datetime": "2025-12-18 00:00:00", "pivot_bar_index": 91104, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 92353, "price": 134021000.0, "datetime": "2025-12-19 04:15:00", "pivot_bar_index": 91794, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 92753, "price": 126200000.0, "datetime": "2025-12-20 00:15:00", "pivot_bar_index": 92368, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 96108, "price": 134594000.0, "datetime": "2025-12-27 00:00:00", "pivot_bar_index": 94139, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 100250, "price": 126374000.0, "datetime": "2026-01-04 15:06:00", "pivot_bar_index": 97794, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 107911, "price": 143100000.0, "datetime": "2026-01-20 14:09:00", "pivot_bar_index": 105331, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 113035, "price": 119124000.0, "datetime": "2026-01-31 06:21:00", "pivot_bar_index": 112658, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 113430, "price": 125206000.0, "datetime": "2026-02-01 02:06:00", "pivot_bar_index": 113036, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 114339, "price": 110761000.0, "datetime": "2026-02-02 23:33:00", "pivot_bar_index": 114123, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 114881, "price": 117429000.0, "datetime": "2026-02-04 02:39:00", "pivot_bar_index": 114361, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 115981, "price": 88999000.0, "datetime": "2026-02-06 09:39:00", "pivot_bar_index": 115974, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 116180, "price": 99433000.0, "datetime": "2026-02-06 19:36:00", "pivot_bar_index": 116089, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 116181, "price": 81110000.0, "datetime": "2026-02-06 19:39:00", "pivot_bar_index": 116180, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 116590, "price": 106690000.0, "datetime": "2026-02-07 16:06:00", "pivot_bar_index": 116430, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 117099, "price": 99500000.0, "datetime": "2026-02-08 17:33:00", "pivot_bar_index": 116594, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 117621, "price": 107021000.0, "datetime": "2026-02-09 19:39:00", "pivot_bar_index": 117390, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 119636, "price": 95788000.0, "datetime": "2026-02-14 00:24:00", "pivot_bar_index": 119218, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 121542, "price": 105000000.0, "datetime": "2026-02-17 23:42:00", "pivot_bar_index": 120450, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 125115, "price": 92000000.0, "datetime": "2026-02-25 10:21:00", "pivot_bar_index": 124880, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 126392, "price": 100497000.0, "datetime": "2026-02-28 02:12:00", "pivot_bar_index": 125520, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 126921, "price": 92582000.0, "datetime": "2026-03-01 04:39:00", "pivot_bar_index": 126667, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 129687, "price": 107414000.0, "datetime": "2026-03-06 22:57:00", "pivot_bar_index": 129146, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 131379, "price": 97511000.0, "datetime": "2026-03-10 11:33:00", "pivot_bar_index": 130816, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 135428, "price": 112300000.0, "datetime": "2026-03-18 22:00:00", "pivot_bar_index": 134719, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 137792, "price": 101413000.0, "datetime": "2026-03-23 20:12:00", "pivot_bar_index": 137581, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 139700, "price": 107284000.0, "datetime": "2026-03-27 19:36:00", "pivot_bar_index": 138758, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 144148, "price": 99803000.0, "datetime": "2026-04-06 09:00:00", "pivot_bar_index": 139842, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 164220, "price": 120980000.0, "datetime": "2026-05-18 08:39:00", "pivot_bar_index": 162798, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 172460, "price": 91495000.0, "datetime": "2026-06-04 12:39:00", "pivot_bar_index": 172428, "confidence": 0.5, "reason": "zigzag_buy_confirmed" }, { "side": "sell", "bar_index": 173155, "price": 96508000.0, "datetime": "2026-06-05 23:24:00", "pivot_bar_index": 172475, "confidence": 0.5, "reason": "zigzag_sell_confirmed" }, { "side": "buy", "bar_index": 173987, "price": 90332000.0, "datetime": "2026-06-07 17:00:00", "pivot_bar_index": 173247, "confidence": 0.5, "reason": "zigzag_buy_confirmed" } ], "legs": [ { "leg_id": 1, "buy_datetime": "2025-06-24 06:15:00", "buy_price": 137200000.0, "buy_bar_index": 7372, "sell_datetime": "2025-07-25 12:30:00", "sell_price": 166969000.0, "sell_bar_index": 22377, "leg_pct": 21.7, "bars_held": 15005 }, { "leg_id": 2, "buy_datetime": "2025-08-11 11:00:00", "buy_price": 156713000.0, "buy_bar_index": 30507, "sell_datetime": "2025-08-18 11:15:00", "sell_price": 169900000.0, "sell_bar_index": 33753, "leg_pct": 8.41, "bars_held": 3246 }, { "leg_id": 3, "buy_datetime": "2025-09-05 16:00:00", "buy_price": 149140000.0, "buy_bar_index": 42457, "sell_datetime": "2025-10-11 06:12:00", "sell_price": 179734000.0, "sell_bar_index": 59401, "leg_pct": 20.51, "bars_held": 16944 }, { "leg_id": 4, "buy_datetime": "2025-10-22 00:00:00", "buy_price": 159762000.0, "buy_bar_index": 64557, "sell_datetime": "2025-10-30 13:27:00", "sell_price": 171490000.0, "sell_bar_index": 68666, "leg_pct": 7.34, "bars_held": 4109 }, { "leg_id": 5, "buy_datetime": "2025-11-05 22:51:00", "buy_price": 146822000.0, "buy_bar_index": 71734, "sell_datetime": "2025-11-14 01:54:00", "sell_price": 159000000.0, "sell_bar_index": 75635, "leg_pct": 8.29, "bars_held": 3901 }, { "leg_id": 6, "buy_datetime": "2025-11-19 01:27:00", "buy_price": 132269000.0, "buy_bar_index": 78026, "sell_datetime": "2025-11-21 01:39:00", "sell_price": 139221000.0, "sell_bar_index": 78990, "leg_pct": 5.26, "bars_held": 964 }, { "leg_id": 7, "buy_datetime": "2025-11-21 23:33:00", "buy_price": 121469000.0, "buy_bar_index": 79428, "sell_datetime": "2025-12-01 09:30:00", "sell_price": 138982000.0, "sell_bar_index": 83818, "leg_pct": 14.42, "bars_held": 4390 }, { "leg_id": 8, "buy_datetime": "2025-12-02 23:12:00", "buy_price": 125743000.0, "buy_bar_index": 84572, "sell_datetime": "2025-12-06 01:30:00", "sell_price": 139950000.0, "sell_bar_index": 86058, "leg_pct": 11.3, "bars_held": 1486 }, { "leg_id": 9, "buy_datetime": "2025-12-10 01:00:00", "buy_price": 131422000.0, "buy_bar_index": 87968, "sell_datetime": "2025-12-14 20:42:00", "sell_price": 139840000.0, "sell_bar_index": 90282, "leg_pct": 6.41, "bars_held": 2314 }, { "leg_id": 10, "buy_datetime": "2025-12-18 00:00:00", "buy_price": 127025000.0, "buy_bar_index": 91788, "sell_datetime": "2025-12-19 04:15:00", "sell_price": 134021000.0, "sell_bar_index": 92353, "leg_pct": 5.51, "bars_held": 565 }, { "leg_id": 11, "buy_datetime": "2025-12-20 00:15:00", "buy_price": 126200000.0, "buy_bar_index": 92753, "sell_datetime": "2025-12-27 00:00:00", "sell_price": 134594000.0, "sell_bar_index": 96108, "leg_pct": 6.65, "bars_held": 3355 }, { "leg_id": 12, "buy_datetime": "2026-01-04 15:06:00", "buy_price": 126374000.0, "buy_bar_index": 100250, "sell_datetime": "2026-01-20 14:09:00", "sell_price": 143100000.0, "sell_bar_index": 107911, "leg_pct": 13.24, "bars_held": 7661 }, { "leg_id": 13, "buy_datetime": "2026-01-31 06:21:00", "buy_price": 119124000.0, "buy_bar_index": 113035, "sell_datetime": "2026-02-01 02:06:00", "sell_price": 125206000.0, "sell_bar_index": 113430, "leg_pct": 5.11, "bars_held": 395 }, { "leg_id": 14, "buy_datetime": "2026-02-02 23:33:00", "buy_price": 110761000.0, "buy_bar_index": 114339, "sell_datetime": "2026-02-04 02:39:00", "sell_price": 117429000.0, "sell_bar_index": 114881, "leg_pct": 6.02, "bars_held": 542 }, { "leg_id": 15, "buy_datetime": "2026-02-06 09:39:00", "buy_price": 88999000.0, "buy_bar_index": 115981, "sell_datetime": "2026-02-06 19:36:00", "sell_price": 99433000.0, "sell_bar_index": 116180, "leg_pct": 11.72, "bars_held": 199 }, { "leg_id": 16, "buy_datetime": "2026-02-06 19:39:00", "buy_price": 81110000.0, "buy_bar_index": 116181, "sell_datetime": "2026-02-07 16:06:00", "sell_price": 106690000.0, "sell_bar_index": 116590, "leg_pct": 31.54, "bars_held": 409 }, { "leg_id": 17, "buy_datetime": "2026-02-08 17:33:00", "buy_price": 99500000.0, "buy_bar_index": 117099, "sell_datetime": "2026-02-09 19:39:00", "sell_price": 107021000.0, "sell_bar_index": 117621, "leg_pct": 7.56, "bars_held": 522 }, { "leg_id": 18, "buy_datetime": "2026-02-14 00:24:00", "buy_price": 95788000.0, "buy_bar_index": 119636, "sell_datetime": "2026-02-17 23:42:00", "sell_price": 105000000.0, "sell_bar_index": 121542, "leg_pct": 9.62, "bars_held": 1906 }, { "leg_id": 19, "buy_datetime": "2026-02-25 10:21:00", "buy_price": 92000000.0, "buy_bar_index": 125115, "sell_datetime": "2026-02-28 02:12:00", "sell_price": 100497000.0, "sell_bar_index": 126392, "leg_pct": 9.24, "bars_held": 1277 }, { "leg_id": 20, "buy_datetime": "2026-03-01 04:39:00", "buy_price": 92582000.0, "buy_bar_index": 126921, "sell_datetime": "2026-03-06 22:57:00", "sell_price": 107414000.0, "sell_bar_index": 129687, "leg_pct": 16.02, "bars_held": 2766 }, { "leg_id": 21, "buy_datetime": "2026-03-10 11:33:00", "buy_price": 97511000.0, "buy_bar_index": 131379, "sell_datetime": "2026-03-18 22:00:00", "sell_price": 112300000.0, "sell_bar_index": 135428, "leg_pct": 15.17, "bars_held": 4049 }, { "leg_id": 22, "buy_datetime": "2026-03-23 20:12:00", "buy_price": 101413000.0, "buy_bar_index": 137792, "sell_datetime": "2026-03-27 19:36:00", "sell_price": 107284000.0, "sell_bar_index": 139700, "leg_pct": 5.79, "bars_held": 1908 }, { "leg_id": 23, "buy_datetime": "2026-04-06 09:00:00", "buy_price": 99803000.0, "buy_bar_index": 144148, "sell_datetime": "2026-05-18 08:39:00", "sell_price": 120980000.0, "sell_bar_index": 164220, "leg_pct": 21.22, "bars_held": 20072 }, { "leg_id": 24, "buy_datetime": "2026-06-04 12:39:00", "buy_price": 91495000.0, "buy_bar_index": 172460, "sell_datetime": "2026-06-05 23:24:00", "sell_price": 96508000.0, "sell_bar_index": 173155, "leg_pct": 5.48, "bars_held": 695 } ], "summary": { "leg_count": 24, "buy_count": 24, "sell_count": 24, "avg_leg_pct": 11.4, "median_leg_pct": 8.82, "max_leg_pct": 31.54, "min_leg_pct": 5.11, "avg_bars_held": 4111.7 }, "pnl": { "initial_cash_krw": 400000.0, "final_cash_krw": 5000025.0, "total_pnl_krw": 4600025.0, "total_return_pct": 1150.01, "fee_rate": 0.0005, "legs_traded": 24, "legs_skipped": 0, "period_from": "2025-06-24 06:15:00", "period_to": "2026-06-05 23:24:00", "leg_pnls": [ { "leg_id": 1, "buy_datetime": "2025-06-24 06:15:00", "sell_datetime": "2025-07-25 12:30:00", "buy_price": 137200000.0, "sell_price": 166969000.0, "cash_before": 400000.0, "cash_after": 486303.0, "leg_return_pct": 21.58, "cumulative_return_pct": 21.58, "btc_qty": 0.00291399 }, { "leg_id": 2, "buy_datetime": "2025-08-11 11:00:00", "sell_datetime": "2025-08-18 11:15:00", "buy_price": 156713000.0, "sell_price": 169900000.0, "cash_before": 486303.0, "cash_after": 526698.0, "leg_return_pct": 8.31, "cumulative_return_pct": 31.67, "btc_qty": 0.0031016 }, { "leg_id": 3, "buy_datetime": "2025-09-05 16:00:00", "sell_datetime": "2025-10-11 06:12:00", "buy_price": 149140000.0, "sell_price": 179734000.0, "cash_before": 526698.0, "cash_after": 634108.0, "leg_return_pct": 20.39, "cumulative_return_pct": 58.53, "btc_qty": 0.0035298 }, { "leg_id": 4, "buy_datetime": "2025-10-22 00:00:00", "sell_datetime": "2025-10-30 13:27:00", "buy_price": 159762000.0, "sell_price": 171490000.0, "cash_before": 634108.0, "cash_after": 679976.0, "leg_return_pct": 7.23, "cumulative_return_pct": 69.99, "btc_qty": 0.00396709 }, { "leg_id": 5, "buy_datetime": "2025-11-05 22:51:00", "sell_datetime": "2025-11-14 01:54:00", "buy_price": 146822000.0, "sell_price": 159000000.0, "cash_before": 679976.0, "cash_after": 735640.0, "leg_return_pct": 8.19, "cumulative_return_pct": 83.91, "btc_qty": 0.00462898 }, { "leg_id": 6, "buy_datetime": "2025-11-19 01:27:00", "sell_datetime": "2025-11-21 01:39:00", "buy_price": 132269000.0, "sell_price": 139221000.0, "cash_before": 735640.0, "cash_after": 773531.0, "leg_return_pct": 5.15, "cumulative_return_pct": 93.38, "btc_qty": 0.00555892 }, { "leg_id": 7, "buy_datetime": "2025-11-21 23:33:00", "sell_datetime": "2025-12-01 09:30:00", "buy_price": 121469000.0, "sell_price": 138982000.0, "cash_before": 773531.0, "cash_after": 884171.0, "leg_return_pct": 14.3, "cumulative_return_pct": 121.04, "btc_qty": 0.00636495 }, { "leg_id": 8, "buy_datetime": "2025-12-02 23:12:00", "sell_datetime": "2025-12-06 01:30:00", "buy_price": 125743000.0, "sell_price": 139950000.0, "cash_before": 884171.0, "cash_after": 983085.0, "leg_return_pct": 11.19, "cumulative_return_pct": 145.77, "btc_qty": 0.00702806 }, { "leg_id": 9, "buy_datetime": "2025-12-10 01:00:00", "sell_datetime": "2025-12-14 20:42:00", "buy_price": 131422000.0, "sell_price": 139840000.0, "cash_before": 983085.0, "cash_after": 1045009.0, "leg_return_pct": 6.3, "cumulative_return_pct": 161.25, "btc_qty": 0.00747663 }, { "leg_id": 10, "buy_datetime": "2025-12-18 00:00:00", "sell_datetime": "2025-12-19 04:15:00", "buy_price": 127025000.0, "sell_price": 134021000.0, "cash_before": 1045009.0, "cash_after": 1101461.0, "leg_return_pct": 5.4, "cumulative_return_pct": 175.37, "btc_qty": 0.00822269 }, { "leg_id": 11, "buy_datetime": "2025-12-20 00:15:00", "sell_datetime": "2025-12-27 00:00:00", "buy_price": 126200000.0, "sell_price": 134594000.0, "cash_before": 1101461.0, "cash_after": 1173549.0, "leg_return_pct": 6.54, "cumulative_return_pct": 193.39, "btc_qty": 0.00872354 }, { "leg_id": 12, "buy_datetime": "2026-01-04 15:06:00", "sell_datetime": "2026-01-20 14:09:00", "buy_price": 126374000.0, "sell_price": 143100000.0, "cash_before": 1173549.0, "cash_after": 1327543.0, "leg_return_pct": 13.12, "cumulative_return_pct": 231.89, "btc_qty": 0.00928167 }, { "leg_id": 13, "buy_datetime": "2026-01-31 06:21:00", "sell_datetime": "2026-02-01 02:06:00", "buy_price": 119124000.0, "sell_price": 125206000.0, "cash_before": 1327543.0, "cash_after": 1393928.0, "leg_return_pct": 5.0, "cumulative_return_pct": 248.48, "btc_qty": 0.01113864 }, { "leg_id": 14, "buy_datetime": "2026-02-02 23:33:00", "sell_datetime": "2026-02-04 02:39:00", "buy_price": 110761000.0, "sell_price": 117429000.0, "cash_before": 1393928.0, "cash_after": 1476367.0, "leg_return_pct": 5.91, "cumulative_return_pct": 269.09, "btc_qty": 0.01257871 }, { "leg_id": 15, "buy_datetime": "2026-02-06 09:39:00", "sell_datetime": "2026-02-06 19:36:00", "buy_price": 88999000.0, "sell_price": 99433000.0, "cash_before": 1476367.0, "cash_after": 1647803.0, "leg_return_pct": 11.61, "cumulative_return_pct": 311.95, "btc_qty": 0.01658028 }, { "leg_id": 16, "buy_datetime": "2026-02-06 19:39:00", "sell_datetime": "2026-02-07 16:06:00", "buy_price": 81110000.0, "sell_price": 106690000.0, "cash_before": 1647803.0, "cash_after": 2165311.0, "leg_return_pct": 31.41, "cumulative_return_pct": 441.33, "btc_qty": 0.0203055 }, { "leg_id": 17, "buy_datetime": "2026-02-08 17:33:00", "sell_datetime": "2026-02-09 19:39:00", "buy_price": 99500000.0, "sell_price": 107021000.0, "cash_before": 2165311.0, "cash_after": 2326654.0, "leg_return_pct": 7.45, "cumulative_return_pct": 481.66, "btc_qty": 0.02175104 }, { "leg_id": 18, "buy_datetime": "2026-02-14 00:24:00", "sell_datetime": "2026-02-17 23:42:00", "buy_price": 95788000.0, "sell_price": 105000000.0, "cash_before": 2326654.0, "cash_after": 2547860.0, "leg_return_pct": 9.51, "cumulative_return_pct": 536.96, "btc_qty": 0.02427747 }, { "leg_id": 19, "buy_datetime": "2026-02-25 10:21:00", "sell_datetime": "2026-02-28 02:12:00", "buy_price": 92000000.0, "sell_price": 100497000.0, "cash_before": 2547860.0, "cash_after": 2780394.0, "leg_return_pct": 9.13, "cumulative_return_pct": 595.1, "btc_qty": 0.02768028 }, { "leg_id": 20, "buy_datetime": "2026-03-01 04:39:00", "sell_datetime": "2026-03-06 22:57:00", "buy_price": 92582000.0, "sell_price": 107414000.0, "cash_before": 2780394.0, "cash_after": 3222600.0, "leg_return_pct": 15.9, "cumulative_return_pct": 705.65, "btc_qty": 0.03001668 }, { "leg_id": 21, "buy_datetime": "2026-03-10 11:33:00", "sell_datetime": "2026-03-18 22:00:00", "buy_price": 97511000.0, "sell_price": 112300000.0, "cash_before": 3222600.0, "cash_after": 3707644.0, "leg_return_pct": 15.05, "cumulative_return_pct": 826.91, "btc_qty": 0.03303205 }, { "leg_id": 22, "buy_datetime": "2026-03-23 20:12:00", "sell_datetime": "2026-03-27 19:36:00", "buy_price": 101413000.0, "sell_price": 107284000.0, "cash_before": 3707644.0, "cash_after": 3918366.0, "leg_return_pct": 5.68, "cumulative_return_pct": 879.59, "btc_qty": 0.03654157 }, { "leg_id": 23, "buy_datetime": "2026-04-06 09:00:00", "sell_datetime": "2026-05-18 08:39:00", "buy_price": 99803000.0, "sell_price": 120980000.0, "cash_before": 3918366.0, "cash_after": 4745048.0, "leg_return_pct": 21.1, "cumulative_return_pct": 1086.26, "btc_qty": 0.03924137 }, { "leg_id": 24, "buy_datetime": "2026-06-04 12:39:00", "sell_datetime": "2026-06-05 23:24:00", "buy_price": 91495000.0, "sell_price": 96508000.0, "cash_before": 4745048.0, "cash_after": 5000025.0, "leg_return_pct": 5.37, "cumulative_return_pct": 1150.01, "btc_qty": 0.05183535 } ] }, "alignment": { "tolerance_bars": 480, "buy": { "side": "buy", "gt_count": 25, "tech_count": 25, "hit_count": 25, "miss_count": 0, "recall": 1.0, "precision": 1.0, "f1": 1.0, "avg_bar_offset": 0.0, "hits": [ { "matched": true, "gt_bar_index": 6873, "tech_bar_index": 6873, "signal_bar_index": 7372, "bar_offset": 0, "tech_price": 137200000.0, "tech_datetime": "2025-06-24 06:15:00", "candidate_index": 0, "gt_datetime": "2025-06-23 05:18:00", "gt_price": 137200000.0 }, { "matched": true, "gt_bar_index": 26640, "tech_bar_index": 26640, "signal_bar_index": 30507, "bar_offset": 0, "tech_price": 156713000.0, "tech_datetime": "2025-08-11 11:00:00", "candidate_index": 1, "gt_datetime": "2025-08-03 09:39:00", "gt_price": 156713000.0 }, { "matched": true, "gt_bar_index": 40534, "tech_bar_index": 40534, "signal_bar_index": 42457, "bar_offset": 0, "tech_price": 149140000.0, "tech_datetime": "2025-09-05 16:00:00", "candidate_index": 2, "gt_datetime": "2025-09-01 14:18:00", "gt_price": 149140000.0 }, { "matched": true, "gt_bar_index": 62545, "tech_bar_index": 62545, "signal_bar_index": 64557, "bar_offset": 0, "tech_price": 159762000.0, "tech_datetime": "2025-10-22 00:00:00", "candidate_index": 3, "gt_datetime": "2025-10-17 19:24:00", "gt_price": 159762000.0 }, { "matched": true, "gt_bar_index": 71490, "tech_bar_index": 71490, "signal_bar_index": 71734, "bar_offset": 0, "tech_price": 146822000.0, "tech_datetime": "2025-11-05 22:51:00", "candidate_index": 4, "gt_datetime": "2025-11-05 10:39:00", "gt_price": 146822000.0 }, { "matched": true, "gt_bar_index": 77834, "tech_bar_index": 77834, "signal_bar_index": 78026, "bar_offset": 0, "tech_price": 132269000.0, "tech_datetime": "2025-11-19 01:27:00", "candidate_index": 5, "gt_datetime": "2025-11-18 15:51:00", "gt_price": 132269000.0 }, { "matched": true, "gt_bar_index": 79386, "tech_bar_index": 79386, "signal_bar_index": 79428, "bar_offset": 0, "tech_price": 121469000.0, "tech_datetime": "2025-11-21 23:33:00", "candidate_index": 6, "gt_datetime": "2025-11-21 21:27:00", "gt_price": 121469000.0 }, { "matched": true, "gt_bar_index": 84123, "tech_bar_index": 84123, "signal_bar_index": 84572, "bar_offset": 0, "tech_price": 125743000.0, "tech_datetime": "2025-12-02 23:12:00", "candidate_index": 7, "gt_datetime": "2025-12-02 00:45:00", "gt_price": 125743000.0 }, { "matched": true, "gt_bar_index": 86979, "tech_bar_index": 86979, "signal_bar_index": 87968, "bar_offset": 0, "tech_price": 131422000.0, "tech_datetime": "2025-12-10 01:00:00", "candidate_index": 8, "gt_datetime": "2025-12-07 23:33:00", "gt_price": 131422000.0 }, { "matched": true, "gt_bar_index": 91104, "tech_bar_index": 91104, "signal_bar_index": 91788, "bar_offset": 0, "tech_price": 127025000.0, "tech_datetime": "2025-12-18 00:00:00", "candidate_index": 9, "gt_datetime": "2025-12-16 13:48:00", "gt_price": 127025000.0 }, { "matched": true, "gt_bar_index": 92368, "tech_bar_index": 92368, "signal_bar_index": 92753, "bar_offset": 0, "tech_price": 126200000.0, "tech_datetime": "2025-12-20 00:15:00", "candidate_index": 10, "gt_datetime": "2025-12-19 05:00:00", "gt_price": 126200000.0 }, { "matched": true, "gt_bar_index": 97794, "tech_bar_index": 97794, "signal_bar_index": 100250, "bar_offset": 0, "tech_price": 126374000.0, "tech_datetime": "2026-01-04 15:06:00", "candidate_index": 11, "gt_datetime": "2025-12-30 12:18:00", "gt_price": 126374000.0 }, { "matched": true, "gt_bar_index": 112658, "tech_bar_index": 112658, "signal_bar_index": 113035, "bar_offset": 0, "tech_price": 119124000.0, "tech_datetime": "2026-01-31 06:21:00", "candidate_index": 12, "gt_datetime": "2026-01-30 11:30:00", "gt_price": 119124000.0 }, { "matched": true, "gt_bar_index": 114123, "tech_bar_index": 114123, "signal_bar_index": 114339, "bar_offset": 0, "tech_price": 110761000.0, "tech_datetime": "2026-02-02 23:33:00", "candidate_index": 13, "gt_datetime": "2026-02-02 12:45:00", "gt_price": 110761000.0 }, { "matched": true, "gt_bar_index": 115974, "tech_bar_index": 115974, "signal_bar_index": 115981, "bar_offset": 0, "tech_price": 88999000.0, "tech_datetime": "2026-02-06 09:39:00", "candidate_index": 14, "gt_datetime": "2026-02-06 09:18:00", "gt_price": 88999000.0 }, { "matched": true, "gt_bar_index": 116180, "tech_bar_index": 116180, "signal_bar_index": 116181, "bar_offset": 0, "tech_price": 81110000.0, "tech_datetime": "2026-02-06 19:39:00", "candidate_index": 15, "gt_datetime": "2026-02-06 19:36:00", "gt_price": 81110000.0 }, { "matched": true, "gt_bar_index": 116594, "tech_bar_index": 116594, "signal_bar_index": 117099, "bar_offset": 0, "tech_price": 99500000.0, "tech_datetime": "2026-02-08 17:33:00", "candidate_index": 16, "gt_datetime": "2026-02-07 16:18:00", "gt_price": 99500000.0 }, { "matched": true, "gt_bar_index": 119218, "tech_bar_index": 119218, "signal_bar_index": 119636, "bar_offset": 0, "tech_price": 95788000.0, "tech_datetime": "2026-02-14 00:24:00", "candidate_index": 17, "gt_datetime": "2026-02-13 03:30:00", "gt_price": 95788000.0 }, { "matched": true, "gt_bar_index": 124880, "tech_bar_index": 124880, "signal_bar_index": 125115, "bar_offset": 0, "tech_price": 92000000.0, "tech_datetime": "2026-02-25 10:21:00", "candidate_index": 18, "gt_datetime": "2026-02-24 22:36:00", "gt_price": 92000000.0 }, { "matched": true, "gt_bar_index": 126667, "tech_bar_index": 126667, "signal_bar_index": 126921, "bar_offset": 0, "tech_price": 92582000.0, "tech_datetime": "2026-03-01 04:39:00", "candidate_index": 19, "gt_datetime": "2026-02-28 15:57:00", "gt_price": 92582000.0 }, { "matched": true, "gt_bar_index": 130816, "tech_bar_index": 130816, "signal_bar_index": 131379, "bar_offset": 0, "tech_price": 97511000.0, "tech_datetime": "2026-03-10 11:33:00", "candidate_index": 20, "gt_datetime": "2026-03-09 07:24:00", "gt_price": 97511000.0 }, { "matched": true, "gt_bar_index": 137581, "tech_bar_index": 137581, "signal_bar_index": 137792, "bar_offset": 0, "tech_price": 101413000.0, "tech_datetime": "2026-03-23 20:12:00", "candidate_index": 21, "gt_datetime": "2026-03-23 09:39:00", "gt_price": 101413000.0 }, { "matched": true, "gt_bar_index": 139842, "tech_bar_index": 139842, "signal_bar_index": 144148, "bar_offset": 0, "tech_price": 99803000.0, "tech_datetime": "2026-04-06 09:00:00", "candidate_index": 22, "gt_datetime": "2026-03-28 02:42:00", "gt_price": 99803000.0 }, { "matched": true, "gt_bar_index": 172428, "tech_bar_index": 172428, "signal_bar_index": 172460, "bar_offset": 0, "tech_price": 91495000.0, "tech_datetime": "2026-06-04 12:39:00", "candidate_index": 23, "gt_datetime": "2026-06-04 11:03:00", "gt_price": 91495000.0 }, { "matched": true, "gt_bar_index": 173247, "tech_bar_index": 173247, "signal_bar_index": 173987, "bar_offset": 0, "tech_price": 90332000.0, "tech_datetime": "2026-06-07 17:00:00", "candidate_index": 24, "gt_datetime": "2026-06-06 04:00:00", "gt_price": 90332000.0 } ], "misses": [] }, "sell": { "side": "sell", "gt_count": 25, "tech_count": 24, "hit_count": 24, "miss_count": 1, "recall": 0.96, "precision": 1.0, "f1": 0.9796, "avg_bar_offset": 0.0, "hits": [ { "matched": true, "gt_bar_index": 17179, "tech_bar_index": 17179, "signal_bar_index": 22377, "bar_offset": 0, "tech_price": 166969000.0, "tech_datetime": "2025-07-25 12:30:00", "candidate_index": 0, "gt_datetime": "2025-07-14 16:36:00", "gt_price": 166969000.0 }, { "matched": true, "gt_bar_index": 31918, "tech_bar_index": 31918, "signal_bar_index": 33753, "bar_offset": 0, "tech_price": 169900000.0, "tech_datetime": "2025-08-18 11:15:00", "candidate_index": 1, "gt_datetime": "2025-08-14 09:33:00", "gt_price": 169900000.0 }, { "matched": true, "gt_bar_index": 58757, "tech_bar_index": 58757, "signal_bar_index": 59401, "bar_offset": 0, "tech_price": 179734000.0, "tech_datetime": "2025-10-11 06:12:00", "candidate_index": 2, "gt_datetime": "2025-10-09 22:00:00", "gt_price": 179734000.0 }, { "matched": true, "gt_bar_index": 67279, "tech_bar_index": 67279, "signal_bar_index": 68666, "bar_offset": 0, "tech_price": 171490000.0, "tech_datetime": "2025-10-30 13:27:00", "candidate_index": 3, "gt_datetime": "2025-10-27 16:06:00", "gt_price": 171490000.0 }, { "matched": true, "gt_bar_index": 74364, "tech_bar_index": 74364, "signal_bar_index": 75635, "bar_offset": 0, "tech_price": 159000000.0, "tech_datetime": "2025-11-14 01:54:00", "candidate_index": 4, "gt_datetime": "2025-11-11 10:21:00", "gt_price": 159000000.0 }, { "matched": true, "gt_bar_index": 78029, "tech_bar_index": 78029, "signal_bar_index": 78990, "bar_offset": 0, "tech_price": 139221000.0, "tech_datetime": "2025-11-21 01:39:00", "candidate_index": 5, "gt_datetime": "2025-11-19 01:36:00", "gt_price": 139221000.0 }, { "matched": true, "gt_bar_index": 82658, "tech_bar_index": 82658, "signal_bar_index": 83818, "bar_offset": 0, "tech_price": 138982000.0, "tech_datetime": "2025-12-01 09:30:00", "candidate_index": 6, "gt_datetime": "2025-11-28 23:30:00", "gt_price": 138982000.0 }, { "matched": true, "gt_bar_index": 84899, "tech_bar_index": 84899, "signal_bar_index": 86058, "bar_offset": 0, "tech_price": 139950000.0, "tech_datetime": "2025-12-06 01:30:00", "candidate_index": 7, "gt_datetime": "2025-12-03 15:33:00", "gt_price": 139950000.0 }, { "matched": true, "gt_bar_index": 87990, "tech_bar_index": 87990, "signal_bar_index": 90282, "bar_offset": 0, "tech_price": 139840000.0, "tech_datetime": "2025-12-14 20:42:00", "candidate_index": 8, "gt_datetime": "2025-12-10 02:06:00", "gt_price": 139840000.0 }, { "matched": true, "gt_bar_index": 91794, "tech_bar_index": 91794, "signal_bar_index": 92353, "bar_offset": 0, "tech_price": 134021000.0, "tech_datetime": "2025-12-19 04:15:00", "candidate_index": 9, "gt_datetime": "2025-12-18 00:18:00", "gt_price": 134021000.0 }, { "matched": true, "gt_bar_index": 94139, "tech_bar_index": 94139, "signal_bar_index": 96108, "bar_offset": 0, "tech_price": 134594000.0, "tech_datetime": "2025-12-27 00:00:00", "candidate_index": 10, "gt_datetime": "2025-12-22 21:33:00", "gt_price": 134594000.0 }, { "matched": true, "gt_bar_index": 105331, "tech_bar_index": 105331, "signal_bar_index": 107911, "bar_offset": 0, "tech_price": 143100000.0, "tech_datetime": "2026-01-20 14:09:00", "candidate_index": 11, "gt_datetime": "2026-01-15 05:09:00", "gt_price": 143100000.0 }, { "matched": true, "gt_bar_index": 113036, "tech_bar_index": 113036, "signal_bar_index": 113430, "bar_offset": 0, "tech_price": 125206000.0, "tech_datetime": "2026-02-01 02:06:00", "candidate_index": 12, "gt_datetime": "2026-01-31 06:24:00", "gt_price": 125206000.0 }, { "matched": true, "gt_bar_index": 114361, "tech_bar_index": 114361, "signal_bar_index": 114881, "bar_offset": 0, "tech_price": 117429000.0, "tech_datetime": "2026-02-04 02:39:00", "candidate_index": 13, "gt_datetime": "2026-02-03 00:39:00", "gt_price": 117429000.0 }, { "matched": true, "gt_bar_index": 116089, "tech_bar_index": 116089, "signal_bar_index": 116180, "bar_offset": 0, "tech_price": 99433000.0, "tech_datetime": "2026-02-06 19:36:00", "candidate_index": 14, "gt_datetime": "2026-02-06 15:03:00", "gt_price": 99433000.0 }, { "matched": true, "gt_bar_index": 116430, "tech_bar_index": 116430, "signal_bar_index": 116590, "bar_offset": 0, "tech_price": 106690000.0, "tech_datetime": "2026-02-07 16:06:00", "candidate_index": 15, "gt_datetime": "2026-02-07 08:06:00", "gt_price": 106690000.0 }, { "matched": true, "gt_bar_index": 117390, "tech_bar_index": 117390, "signal_bar_index": 117621, "bar_offset": 0, "tech_price": 107021000.0, "tech_datetime": "2026-02-09 19:39:00", "candidate_index": 16, "gt_datetime": "2026-02-09 08:06:00", "gt_price": 107021000.0 }, { "matched": true, "gt_bar_index": 120450, "tech_bar_index": 120450, "signal_bar_index": 121542, "bar_offset": 0, "tech_price": 105000000.0, "tech_datetime": "2026-02-17 23:42:00", "candidate_index": 17, "gt_datetime": "2026-02-15 17:06:00", "gt_price": 105000000.0 }, { "matched": true, "gt_bar_index": 125520, "tech_bar_index": 125520, "signal_bar_index": 126392, "bar_offset": 0, "tech_price": 100497000.0, "tech_datetime": "2026-02-28 02:12:00", "candidate_index": 18, "gt_datetime": "2026-02-26 06:36:00", "gt_price": 100497000.0 }, { "matched": true, "gt_bar_index": 129146, "tech_bar_index": 129146, "signal_bar_index": 129687, "bar_offset": 0, "tech_price": 107414000.0, "tech_datetime": "2026-03-06 22:57:00", "candidate_index": 19, "gt_datetime": "2026-03-05 19:54:00", "gt_price": 107414000.0 }, { "matched": true, "gt_bar_index": 134719, "tech_bar_index": 134719, "signal_bar_index": 135428, "bar_offset": 0, "tech_price": 112300000.0, "tech_datetime": "2026-03-18 22:00:00", "candidate_index": 20, "gt_datetime": "2026-03-17 10:33:00", "gt_price": 112300000.0 }, { "matched": true, "gt_bar_index": 138758, "tech_bar_index": 138758, "signal_bar_index": 139700, "bar_offset": 0, "tech_price": 107284000.0, "tech_datetime": "2026-03-27 19:36:00", "candidate_index": 21, "gt_datetime": "2026-03-25 20:30:00", "gt_price": 107284000.0 }, { "matched": true, "gt_bar_index": 162798, "tech_bar_index": 162798, "signal_bar_index": 164220, "bar_offset": 0, "tech_price": 120980000.0, "tech_datetime": "2026-05-18 08:39:00", "candidate_index": 22, "gt_datetime": "2026-05-15 09:33:00", "gt_price": 120980000.0 }, { "matched": true, "gt_bar_index": 172475, "tech_bar_index": 172475, "signal_bar_index": 173155, "bar_offset": 0, "tech_price": 96508000.0, "tech_datetime": "2026-06-05 23:24:00", "candidate_index": 23, "gt_datetime": "2026-06-04 13:24:00", "gt_price": 96508000.0 } ], "misses": [ { "gt_bar_index": 174272, "gt_datetime": "2026-06-08 07:15:00", "gt_price": 97000000.0 } ] }, "legs": { "gt_leg_count": 25, "tech_leg_count": 24, "captured_count": 3, "missed_count": 22, "leg_recall": 0.12, "captured": [ { "gt_leg_id": 13, "tech_leg_id": 13, "gt_buy": "2026-01-30 11:30:00", "tech_buy": "2026-01-31 06:21:00", "gt_sell": "2026-01-31 06:24:00", "tech_sell": "2026-02-01 02:06:00", "buy_bar_offset": 377, "sell_bar_offset": 394, "gt_leg_pct": 5.11, "tech_leg_pct": 5.11 }, { "gt_leg_id": 15, "tech_leg_id": 15, "gt_buy": "2026-02-06 09:18:00", "tech_buy": "2026-02-06 09:39:00", "gt_sell": "2026-02-06 15:03:00", "tech_sell": "2026-02-06 19:36:00", "buy_bar_offset": 7, "sell_bar_offset": 91, "gt_leg_pct": 11.72, "tech_leg_pct": 11.72 }, { "gt_leg_id": 16, "tech_leg_id": 16, "gt_buy": "2026-02-06 19:36:00", "tech_buy": "2026-02-06 19:39:00", "gt_sell": "2026-02-07 08:06:00", "tech_sell": "2026-02-07 16:06:00", "buy_bar_offset": 1, "sell_bar_offset": 160, "gt_leg_pct": 31.54, "tech_leg_pct": 31.54 } ], "missed": [ { "gt_leg_id": 1, "buy_datetime": "2025-06-23 05:18:00", "sell_datetime": "2025-07-14 16:36:00", "leg_pct": 21.7 }, { "gt_leg_id": 2, "buy_datetime": "2025-08-03 09:39:00", "sell_datetime": "2025-08-14 09:33:00", "leg_pct": 8.41 }, { "gt_leg_id": 3, "buy_datetime": "2025-09-01 14:18:00", "sell_datetime": "2025-10-09 22:00:00", "leg_pct": 20.51 }, { "gt_leg_id": 4, "buy_datetime": "2025-10-17 19:24:00", "sell_datetime": "2025-10-27 16:06:00", "leg_pct": 7.34 }, { "gt_leg_id": 5, "buy_datetime": "2025-11-05 10:39:00", "sell_datetime": "2025-11-11 10:21:00", "leg_pct": 8.29 }, { "gt_leg_id": 6, "buy_datetime": "2025-11-18 15:51:00", "sell_datetime": "2025-11-19 01:36:00", "leg_pct": 5.26 }, { "gt_leg_id": 7, "buy_datetime": "2025-11-21 21:27:00", "sell_datetime": "2025-11-28 23:30:00", "leg_pct": 14.42 }, { "gt_leg_id": 8, "buy_datetime": "2025-12-02 00:45:00", "sell_datetime": "2025-12-03 15:33:00", "leg_pct": 11.3 }, { "gt_leg_id": 9, "buy_datetime": "2025-12-07 23:33:00", "sell_datetime": "2025-12-10 02:06:00", "leg_pct": 6.41 }, { "gt_leg_id": 10, "buy_datetime": "2025-12-16 13:48:00", "sell_datetime": "2025-12-18 00:18:00", "leg_pct": 5.51 }, { "gt_leg_id": 11, "buy_datetime": "2025-12-19 05:00:00", "sell_datetime": "2025-12-22 21:33:00", "leg_pct": 6.65 }, { "gt_leg_id": 12, "buy_datetime": "2025-12-30 12:18:00", "sell_datetime": "2026-01-15 05:09:00", "leg_pct": 13.24 }, { "gt_leg_id": 14, "buy_datetime": "2026-02-02 12:45:00", "sell_datetime": "2026-02-03 00:39:00", "leg_pct": 6.02 }, { "gt_leg_id": 17, "buy_datetime": "2026-02-07 16:18:00", "sell_datetime": "2026-02-09 08:06:00", "leg_pct": 7.56 }, { "gt_leg_id": 18, "buy_datetime": "2026-02-13 03:30:00", "sell_datetime": "2026-02-15 17:06:00", "leg_pct": 9.62 }, { "gt_leg_id": 19, "buy_datetime": "2026-02-24 22:36:00", "sell_datetime": "2026-02-26 06:36:00", "leg_pct": 9.24 }, { "gt_leg_id": 20, "buy_datetime": "2026-02-28 15:57:00", "sell_datetime": "2026-03-05 19:54:00", "leg_pct": 16.02 }, { "gt_leg_id": 21, "buy_datetime": "2026-03-09 07:24:00", "sell_datetime": "2026-03-17 10:33:00", "leg_pct": 15.17 }, { "gt_leg_id": 22, "buy_datetime": "2026-03-23 09:39:00", "sell_datetime": "2026-03-25 20:30:00", "leg_pct": 5.79 }, { "gt_leg_id": 23, "buy_datetime": "2026-03-28 02:42:00", "sell_datetime": "2026-05-15 09:33:00", "leg_pct": 21.22 }, { "gt_leg_id": 24, "buy_datetime": "2026-06-04 11:03:00", "sell_datetime": "2026-06-04 13:24:00", "leg_pct": 5.48 }, { "gt_leg_id": 25, "buy_datetime": "2026-06-06 04:00:00", "sell_datetime": "2026-06-08 07:15:00", "leg_pct": 7.38 } ] }, "gt_return_pct": 1240.94, "tech_return_pct": 1150.01, "return_capture_ratio": 0.9267, "score": 0.671 }, "meta": { "generated_at": "2026-06-08 23:21:01", "interval_label": "3분" } }