{
  "schema_version": 1,
  "projection_type": "stockpulse_v1_fixed_public_projection",
  "projected_at": "2026-09-21T22:51:38+00:00",
  "project": {
    "id": "stockpulse-v1-fixed",
    "title": "StockPulse V1 Fixed",
    "route": "/labs/stockpulse-v1-fixed",
    "lifecycle": "active",
    "activation_status": "not_activated",
    "role": "AI prediction, evaluation, applied-change experiment dashboard",
    "daily_lab_slug_policy": "disabled",
    "canonical_evidence": "private_run_artifacts",
    "public_projection_is_canonical": false
  },
  "source_manifest": {
    "source_kind": "read_only_v1_fixed_run_artifact_set",
    "run_id": "live-shadow-2026-09-22-morning-01",
    "snapshot_id": "input-snapshot-b7068ab6741d1d96",
    "trading_date": "2026-09-22",
    "artifact_count": 7,
    "artifact_hashes": {
      "run.json": "b3c3d4b907ffc27edac457bb16893081d5c5b2f2c6014a20e0b5ab9362c0ddcc",
      "input_manifest.json": "17841b7b0bf3891a55ddc9be257550e73bc20bba935c14d9e3ed53be7f9543a5",
      "quality.json": "658ad6db0fa861ab79b404386c4a4af32e377376d5f7d2d76e4dec49900eda0e",
      "ml_prediction.json": "350e1e1dfe46a0eba710c95712a877c954cc6416a8973e7ad27a04dab2414267",
      "llm_prediction.json": "ad58d5332901c2212f383330fdbf05f208d99e4db06e7e8682857006d656d56b",
      "improvement.json": "00f34e244a8473e1e55fa11989981bb5e9474f8fcd3bcc04a4466c15713e4d13",
      "day1-morning-verification.json": "562417c603b1a24d0ca988762ba0abac071087f1e7973c21c9014c21560429aa"
    },
    "generator_version": "stockpulse-v1-fixed-projector-1.2.0",
    "generator_command_template": "python3 scripts/project_publication.py --source-run <private-run-dir> --output-dir <output-dir> [--projected-at <iso>]",
    "source_path_projected": false,
    "history_count": 15,
    "history": [
      {
        "run_id": "live-shadow-2026-09-22-morning-01",
        "trading_date": "2026-09-22",
        "artifact_hashes": {
          "run.json": "b3c3d4b907ffc27edac457bb16893081d5c5b2f2c6014a20e0b5ab9362c0ddcc",
          "input_manifest.json": "17841b7b0bf3891a55ddc9be257550e73bc20bba935c14d9e3ed53be7f9543a5",
          "quality.json": "658ad6db0fa861ab79b404386c4a4af32e377376d5f7d2d76e4dec49900eda0e",
          "ml_prediction.json": "350e1e1dfe46a0eba710c95712a877c954cc6416a8973e7ad27a04dab2414267",
          "llm_prediction.json": "ad58d5332901c2212f383330fdbf05f208d99e4db06e7e8682857006d656d56b",
          "improvement.json": "00f34e244a8473e1e55fa11989981bb5e9474f8fcd3bcc04a4466c15713e4d13",
          "day1-morning-verification.json": "562417c603b1a24d0ca988762ba0abac071087f1e7973c21c9014c21560429aa"
        }
      },
      {
        "run_id": "live-shadow-2026-09-21-morning-01",
        "trading_date": "2026-09-21",
        "artifact_hashes": {
          "run.json": "e2c2423fcb9b842a05a248c272d572eeaa329567351b16d946aa7ac0adcc8221",
          "input_manifest.json": "2933b05e34c03fa26c76f8a0a2706f7f5d8d50b5714cec5bd8529d1a33c89bc6",
          "quality.json": "5089746110da59a6963b89ae932f027e20d986c37b2e995811784f09de83b412",
          "ml_prediction.json": "7e168b7f4f4e0c94d2061d0983a30623546098d1e5c538d2b3d8fd634ff47835",
          "llm_prediction.json": "15c3a792b47375ec7bb1eccad1e256002b0764c844adcfafef461e486899d8c5",
          "improvement.json": "3b0733a984e7c3363b0f2733b6c4137de95fd38569e67f5dd8f2cd36fba7e767",
          "day1-morning-verification.json": "715ea4db20527ca1593b893c3ac5838105fa1899f59f52b95e97e578ae5b040d"
        }
      },
      {
        "run_id": "live-shadow-2026-09-18-morning-01",
        "trading_date": "2026-09-18",
        "artifact_hashes": {
          "run.json": "8349a422196c8540f068e7f4ea6d9a9ab9a3fe80232866e8d3cebe9101d8f64e",
          "input_manifest.json": "77bc07689596909f5020b13d3e114e18f1e578b229c5780ba6505ac017a46b57",
          "quality.json": "e45a8a74a11419325b98651352735b549e4fff57d0f861e040fe416370dcd66d",
          "ml_prediction.json": "c5d35919ea82217d43a85abca9eff9d7effd01ef9dfb61d2d873b75b4c502b50",
          "llm_prediction.json": "5ea8c444aadec4e0036b53a72e520f3da72983fcf0c4b2c99aab89a72265fb9d",
          "improvement.json": "455b4adbc22798c509c836cc28c54ba20e017ee62100788f088c6bf03a88cabc",
          "day1-morning-verification.json": "91e2132613062d0facf71d784dc41ce201d94769af5e156facbd78dc14d0d2de"
        }
      },
      {
        "run_id": "live-shadow-2026-09-17-morning-01",
        "trading_date": "2026-09-17",
        "artifact_hashes": {
          "run.json": "16a5d956151ea1032e36ded0a58628d89a65f5546bbf05c0268dcd9ebe279fdd",
          "input_manifest.json": "226c44cea23c547168e29277407522787f2dbe6be82aadfa2d3170f5047842ec",
          "quality.json": "fe6753d77896d103c8515b48f4a9552dba5203834c3ee4c26a6884a7501f99cb",
          "ml_prediction.json": "7bdb69469ef1c138387bf3746ced2759be1e748d0f86cbf0ece406c421523801",
          "llm_prediction.json": "e0450c2ff41fe1c34f4639d3ee90387b039ffe1dd7773208aa6ca93428247622",
          "improvement.json": "c39266d1f6ec863d548f605460a4d20c727b946fd16eb73a2189b8ac38ff54a2",
          "day1-morning-verification.json": "aec7db910c0b85609c8c454a0cfbc0bf5adb7c91246f5f0fbb22954ed6275d25"
        }
      },
      {
        "run_id": "live-shadow-2026-09-16-morning-01",
        "trading_date": "2026-09-16",
        "artifact_hashes": {
          "run.json": "fd49d0eec5369df55388b06ee86ea088a225e1b667940ea46ce79c640e9d452b",
          "input_manifest.json": "c17c2fa4bdfe813d0454f4551721b2fe34d30acc8a5008a6b6bc5719b8e62c65",
          "quality.json": "33a79a44eb8e428c69fc046af18fdef8774f87ade3026ff2d1db1177ef9aa4ec",
          "ml_prediction.json": "f48a5b679dd2920961fabfa3b7bf37258e39f81bf6a19b73b0b626a2b52f46a7",
          "llm_prediction.json": "3b6ca60a313b76cdc7f48fd9d0ac9ad4901ca3b9ba16de0840299f9b52d12144",
          "improvement.json": "5389c77a4af407841c464a59f55018a1fac045f60e2577534f354d9491ded497",
          "day1-morning-verification.json": "e08f599a797f58d24a77657b08a2bbdc496934b5ac940a5a0005743f7947d06b"
        }
      },
      {
        "run_id": "live-shadow-2026-09-15-morning-01",
        "trading_date": "2026-09-15",
        "artifact_hashes": {
          "run.json": "ee0cf21939e009dc3b7d56b7bddaf447ef59bcebafff40088e34f9ce1df957f8",
          "input_manifest.json": "c71f585fedafba108ac0d367a87661cebadb4d82264eb16b59907d73d98e85fe",
          "quality.json": "94de61d3e6fe351723699b45b5d2d6d343b4dbaf441c1243c1545e3c30cc86c2",
          "ml_prediction.json": "e335d2f93e78326c1c030a6be3fc88438fcdccde7aadc2095d1f230105f33b05",
          "llm_prediction.json": "cf1f97152476b23e7cc9a2ee6dee906001885cc5c8a24a3c160367ca2ff41ead",
          "improvement.json": "1132f5f72c723276456762ec7f18a6d1a61a8aecb01e7385cc1f62401056c30e",
          "day1-morning-verification.json": "db4558f62a59479bba5d24e63f05e1817e748b73625dd9c80e708f200b540166"
        }
      },
      {
        "run_id": "live-shadow-2026-09-14-morning-01",
        "trading_date": "2026-09-14",
        "artifact_hashes": {
          "run.json": "c0d93c8619661d94853908e449a50485d7cd501cab467344d108147dc4f289d1",
          "input_manifest.json": "325c170795cd7def06b665c0bc5c314c0182790fff9b28da4a369b86b2db3ffc",
          "quality.json": "e1c04977227b8deac1db25fb9b8f87e001c4797b763aba34aac38f0758a35a40",
          "ml_prediction.json": "938aac28ecb8f3359278a1e7221d48c6a7d7fa67b3491dd4562c44a855927f9d",
          "llm_prediction.json": "7c35d2f84bbfc9b81666af4bb05bfbbf8ba8e6e155a52d7a3322d422df035ace",
          "improvement.json": "c392a023a9bdca610b31a78f3b10a4911c7c632cf96df81f276230c2c068513d",
          "day1-morning-verification.json": "51c92e7bd0d2696e874d91eee0243dee95b803aaa4da32b84e96bf7674ba8be0"
        }
      },
      {
        "run_id": "live-shadow-2026-09-11-morning-01",
        "trading_date": "2026-09-11",
        "artifact_hashes": {
          "run.json": "648b995433838e28829df7aa124a55b9d2e864e131fde581e497fd507ccc11f7",
          "input_manifest.json": "3f4fd6728d0c686891a87bceafc2116256f76c8b146910b28dc56e23b16ae08f",
          "quality.json": "656243c54dde1f82530dac6485b9af96acd7e1c65066c09203b65a92d2c5ccc3",
          "ml_prediction.json": "9c10f3d2a6b5547842d6890f7f717f4fb0210cca52adbdbb0f08aa5c728ec74f",
          "llm_prediction.json": "c73b4186542af8b9a4026c6e9edc5b84e8bdb77aff28be00f75bead6fb9ac57f",
          "improvement.json": "5b23c86b0a6f1667dc9931f1734cdcdcc82e07c9d88b41ecbd8858181c21d970",
          "day1-morning-verification.json": "c2ad5cf5a26c3fe1b6ebeb93fbe60f3e2bc43e5764474abb31ce8d1551883450"
        }
      },
      {
        "run_id": "live-shadow-2026-09-10-morning-01",
        "trading_date": "2026-09-10",
        "artifact_hashes": {
          "run.json": "0f0f8cc6e7cb0e306612dd1a77f1cb1e8e1fa43a6bcd09ebbac7e69bed3aa3aa",
          "input_manifest.json": "665c088a9a7c09f948f56f0a1ae136a530a294896804c70a21b31b5fc006eee0",
          "quality.json": "5fc1b43ba6e5f0e395a375a36209fbb05dff64680aafd4badabcdf28d13e16d3",
          "ml_prediction.json": "0de40706dddc3da3917e150d19e62c11f228156207a606a0fcbefef98e6b7c22",
          "llm_prediction.json": "13dc83ea3b259d8212ac1ddbf02685f5ac428e17e65ce650b1775667c2fdf9f7",
          "improvement.json": "0ad7ab655f5b781186b36490107fd0ba67f84d5e884646edb65263d8faad1e61",
          "day1-morning-verification.json": "32b826f491a05908cc2023a88d97651c1e47186fb4211fc759e14f94c9393be7"
        }
      },
      {
        "run_id": "live-shadow-2026-09-09-morning-01",
        "trading_date": "2026-09-09",
        "artifact_hashes": {
          "run.json": "ca9360e8c4d3422107fcc732bb4b4c60e96360c101624b22a29621c270306e13",
          "input_manifest.json": "7c07a3aa937d82ec949d0721d60d0d9582dac53f98a5e9281341ee6e4549322d",
          "quality.json": "83bfdf529c2e4dc2b43590206173e43c4d0f7d6f1fc38996717a5b5c66fb82a6",
          "ml_prediction.json": "f0a3c46ca0e42af41742fe96a277659fc62ea63e7c0dbd5b7cb62f8122f8e820",
          "llm_prediction.json": "28774c4757ee086cfcc38d21e0be31ec06a44beb687f4b17c379db65421cd7cf",
          "improvement.json": "c4e200f073da4846abd0af8029c9c0a961ea52f81544702e67b81fb62e5435af",
          "day1-morning-verification.json": "95bc2c68c8c36b4d7d05aa1ba150bb310ee05b78b6700751124af3cdef10c8c7"
        }
      },
      {
        "run_id": "live-shadow-2026-09-08-supply-repair-01",
        "trading_date": "2026-09-08",
        "artifact_hashes": {
          "run.json": "1f7a2c45de268dd4288ee494da7ea4d4999548c9eeaf2dde4a406a41e855206c",
          "input_manifest.json": "5e483194847d0cab8e3c44a996c1c7acf8924f38365fee29200d6b8b74de6e9a",
          "quality.json": "f0d972d65cd557c1ed29739ca4ed2b9fbb7ebdd31e10f58683241f5c4b377c82",
          "ml_prediction.json": "d84c8da19f1664aed5d6c59276575b3c6aab19d49a4560944ecd466df77574f1",
          "llm_prediction.json": "a3bc0073ed77b557e073cf8dafb0fc7c26f2077661fbb48b4bb5d360add8dbe1",
          "improvement.json": "72f01933472d437eaedc3e97a62724e57f7018ad6186d14cb4d781954e9db048",
          "day1-morning-verification.json": "209dc4f850f89c06f8ca2dcbc02c91c2179ad232ece758d8892648ad9337a401"
        }
      },
      {
        "run_id": "live-shadow-2026-09-07-morning-01",
        "trading_date": "2026-09-07",
        "artifact_hashes": {
          "run.json": "b27a9e795140e239ee56ba1225704f5df0466b14d5a68e185c2518542be67726",
          "input_manifest.json": "65d19e325cb228c3985345f440d794dca834206f72952c43444b6119f4693239",
          "quality.json": "d6b9dad034c15bd595390bbe9e4739daa790654dae0705e827d0c603d555325d",
          "ml_prediction.json": "b902127955a2b31c729f648d14c101e814f14805bfcd9f81faa70cecfe182d5d",
          "llm_prediction.json": "b9f602e0ec481c1856272cdd9a6645041a91142dbc8d2b302c5ea564fa67b2c3",
          "improvement.json": "00f34e244a8473e1e55fa11989981bb5e9474f8fcd3bcc04a4466c15713e4d13",
          "day1-morning-verification.json": "177fd8291971092c7c1721211c0782afec14cf3828cc341c043f1f606533acbf"
        }
      },
      {
        "run_id": "live-shadow-2026-09-04-morning-01",
        "trading_date": "2026-09-04",
        "artifact_hashes": {
          "run.json": "adef326ffb4a8a557cd512501bcf5839c61bd93905034b204203d15895934a29",
          "input_manifest.json": "dc9daeceed93f7004ebefe611cd871ab7b06061bae5d66cf1942b29372d5df26",
          "quality.json": "c7e72dccf69b5f52f4ba2482dc3b3e1ad200c5b86bf270e1431f122c8a99604c",
          "ml_prediction.json": "163662e7152b0b345c14a89b1c9f386e92adf73284f5956ce08a39a492a90b8a",
          "llm_prediction.json": "47cabe1df01a1aed1bd8441ffa9fc6a94ab61fdb89bf838d667a4e8f996f9cb0",
          "improvement.json": "8eb4ba4b394135fd7d61f3561044a32877792ba0565cc3fcee987bf8928226e7",
          "day1-morning-verification.json": "78765b5731061517e99f9bff1b1886d3d6c1c5ab7f047a65b8ff8fc21d583341"
        }
      },
      {
        "run_id": "live-shadow-2026-09-03-morning-01",
        "trading_date": "2026-09-03",
        "artifact_hashes": {
          "run.json": "581873c64e0c9d0742100b7ca959465ae283dbca8ddb18b0d10ccaa34f5bafc0",
          "input_manifest.json": "883a4733a16c637a5ff4df908d43f5d16c5ff666ab30b06feb6c36b7a88ddc7c",
          "quality.json": "d44e9a90ea28a20563b40a44f77bdddf4aca5498717254186e374f1615906b7d",
          "ml_prediction.json": "03db16d3e0505c369b5448161a03df4ec5f9cd5545ae623a7453e10f516ba1b1",
          "llm_prediction.json": "b9efaf939f76a66bde6a595f94e8699208ee129637d2e5342f42403f6f9302df",
          "improvement.json": "e83eafcc6e48b3b1a3e1d9bfafcc8085d30147e95bb7825395f1e047be615132",
          "day1-morning-verification.json": "fe535322b009067be499abfccf4c3cb41cfbd5fd04b1f8f8395a3afaf6b2700d"
        }
      },
      {
        "run_id": "live-shadow-day1-2026-09-02-morning-01",
        "trading_date": "2026-09-02",
        "artifact_hashes": {
          "run.json": "b3c78592c19c592c9d8119f22927bc2fae3c9a788b3952cc1f48a4955f8cf353",
          "input_manifest.json": "89b4b1b0838d4e9e540a4c93c0939d641eef539a11ab029cff8c5cd6f0658dc0",
          "quality.json": "0f14f5a393ca997aa39e6eb31c028cbe6801dbc6bd6c7fc2188a28d452e93971",
          "ml_prediction.json": "01b1820a635501a98399b4cfba0e3384c85d24accccc0fbf4a4ada9e6eaf8977",
          "llm_prediction.json": "4a854cd6f0c4272dfdbe15994ae1ccb55a4d77c5222fb933ef930a0077a6cf9f",
          "improvement.json": "866882bf6c99651954c04c8b8cc802471e4bb808c0b03f5ab0609f4fa34ab047",
          "day1-morning-verification.json": "11c58643d18fbf459a2f313e4921cc7288bfc8f7dc6a13696817c237302ced5c"
        }
      }
    ]
  },
  "snapshot": {
    "live_shadow_day": "Latest run · 2026-09-22",
    "current_state": "morning_complete_evening_not_started",
    "run_count": 15,
    "llm_evaluated": 0,
    "llm_correct": null,
    "ml_prediction_count": 50,
    "ml_evaluated": 0,
    "ml_correct": null,
    "ml_evaluation_state": "pending",
    "improvement_cycles": 12,
    "improvement_status": "none",
    "applied_count": 12,
    "rejected_count": 0,
    "pending_count": 0,
    "current_effective_config": {
      "lgb": {
        "learning_rate": 0.03,
        "n_estimators": 500
      },
      "xgb": {
        "learning_rate": 0.03,
        "n_estimators": 500
      },
      "lstm": {
        "sequence_length": 20
      },
      "ensemble": {
        "lgb": 0.3,
        "xgb": 0.3,
        "lstm": 0.4
      }
    }
  },
  "runs": {
    "schema_version": 1,
    "project_id": "stockpulse-v1-fixed",
    "records": [
      {
        "run_id": "live-shadow-2026-09-22-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "in_progress_evening_not_started",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-22",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-b7068ab6741d1d96",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-22",
          "generation_status": "generated",
          "evaluation_status": "pending",
          "success": null,
          "failure": null,
          "market": "KOSPI",
          "direction": "보합",
          "confidence": 0.56,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "fa629262f48870bda07a8a3e9ebc071a3da5feafe6d88cd37759eee25168a567",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "confidence",
              "rationale",
              "key_variables",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "해외 반도체·위험선호 신호를 국내 약세와 분리해 반영하고, 장중 breadth·개별 수급 부재를 확신 제한 요인으로 유지하여 보합 판단과 중간 수준의 주관적 확신을 적용했습니다."
          },
          "snapshot_cutoff": "2026-09-22T07:31:11.547343+09:00",
          "generated_at": "2026-09-22T07:33:59.682522+09:00",
          "summary": "KOSPI는 6,724.34로 전일 대비 0.09% 상승했지만 20일선 6,802.33을 1.15% 밑돌아 국내 추세는 약합니다. 반면 S&P500·나스닥이 각각 1.49%·2.26%, SOX가 4.29% 상승하고 AMD가 9.95% 올라 해외 반도체·위험선호가 하방을 완충합니다. 금리 4.96%와 유럽 약세, 장중 breadth·개별 수급 부재를 함께 고려하면 방향성은 보합으로 판단합니다.",
          "market_summary": "국내 시장은 KOSPI 6,724.34, 전일 대비 +0.09%로 강보합이지만 20일선 6,802.33 대비 -1.15%입니다. KOSDAQ은 821.67, +0.70%로 상대적으로 견조하며 KOSPI 심리는 중립(50), KOSDAQ은 낙관(70)입니다. 다만 장중 breadth와 개별 외국인·기관 수급은 확인되지 않아 추세 전환으로 확정하기 어렵습니다.",
          "overseas_market_and_overnight": "미국은 S&P500 +1.49%(7,764.70), 나스닥 +2.26%(27,122.09), 다우 +0.71%로 상승했고 SOX는 +4.29%(12,433.17), SMH는 +4.02%였습니다. AMD +9.95%, QCOM +9.29%, 인텔 +12.14%로 반도체 선호가 강해 국내 대형 기술주에 우호적입니다. 그러나 유로 STOXX50 -1.37%, DAX -1.60%로 지역별 신호는 엇갈리고 POSCO ADR은 -0.24%였습니다.",
          "macro": "미국 10년물 금리는 4.96%로 높은 수준이며 DXY는 100.43으로 +0.20%입니다. 원/달러는 1,374.76으로 -0.35%여서 원화 부담은 일부 완화됐습니다. CPI는 전년 대비 +3.71%, PPI는 +9.85%, 실업률은 4.1%이며 다음 주요 일정은 10월 10일 미국 9월 CPI, 11월 5일 FOMC, 10월 16일 한국은행 금통위입니다. 브렌트유 -7.70%, WTI -8.34% 급락은 비용 측면에는 긍정적이나 원인과 지속성은 불확실합니다.",
          "sentiment_and_supply": "공포·탐욕 점수는 54로 중립이며 최근 10일 중 5일 상승, 거래량 5일/20일 비율 0.79배, 52주 고점·저점 근접 종목은 각각 1개입니다. KOSPI 시장 수급은 외국인 -26,320.88억원, 기관 +2,497.09억원으로 엇갈리지만 기준일이 9월 17일로 최신 장중 수급이 아닙니다. 주요 종목 뉴스는 삼성전자·SK하이닉스의 배당·회복 기대와 셀트리온 주주환원 등이 우호적이나 기아·카카오·리노공업에는 하락·불확실성 뉴스가 남아 있습니다.",
          "ml_summary": "ML은 50종목을 생성했고 LightGBM·XGBoost·LSTM이 모두 참여했습니다. 트리 평균 AUC 0.7797·정확도 0.7215, LSTM AUC 0.7737·정확도 0.6994로 모델 자체 성능은 유의미하지만, 5일 KOSPI 대비 초과수익을 다루는 상대성과 신호입니다. 시장 편향은 약세이며 상대적 강세 4종목, 중립 19종목, 약세 27종목으로 국내 절대 방향의 상승 근거로 대체하지 않았습니다.",
          "forecast": "기본 시나리오는 보합입니다. 해외 반도체 강세가 삼성전자·SK하이닉스 등 대형주로 확산되면 상승 압력이 생기지만, KOSPI가 20일선 아래에 있고 높은 금리·유럽 약세·수급 및 breadth 공백이 상단을 제한할 가능성이 큽니다.",
          "rationale": [
            "KOSPI는 6,724.34로 +0.09%에 그쳤고 20일선 6,802.33보다 1.15% 낮아 국내 추세가 약합니다.",
            "KOSDAQ은 821.67로 +0.70%, 심리 70으로 KOSPI보다 상대적으로 견조하지만 시장 전체 확산 여부는 확인되지 않았습니다.",
            "S&P500 +1.49%, 나스닥 +2.26%, SOX +4.29%와 AMD +9.95% 등 해외 위험선호·반도체 신호는 국내 대형 기술주에 상승 촉매입니다.",
            "10년물 4.96%와 DXY 100.43은 밸류에이션 부담을 남기며 유로 STOXX50 -1.37%, DAX -1.60%는 글로벌 신호가 일방적이지 않음을 보여줍니다.",
            "공포·탐욕 점수 54, 거래량 비율 0.79배, 최근 10일 상승일 5일로 심리와 참여 강도가 중립적입니다.",
            "KOSPI 수급은 외국인 -26,320.88억원과 기관 +2,497.09억원으로 엇갈리고 기준일도 9월 17일이어서 당일 방향 확인에는 제한적입니다.",
            "ML의 약세 편향과 27개 상대 약세 종목은 보수적 판단을 보강하지만 절대 KOSPI 방향 신호가 아니므로 보합 판단의 보조 근거로만 사용했습니다."
          ],
          "observation_points": [
            "KOSPI 6,802.33 20일선 회복 여부",
            "삼성전자·SK하이닉스의 반도체 강세 확산 여부",
            "장중 breadth와 외국인·기관 당일 수급",
            "미국 10년물 4.96%와 DXY 100.43의 추가 상승 여부",
            "원/달러 1,374.76 및 유가 급락의 지속성",
            "ML 5일 상대성과의 실제 성숙 후 평가"
          ],
          "uncertainties": [
            "장중 breadth와 당일 외국인·기관 개별 수급 데이터가 없어 상승 신호의 시장 확산을 검증할 수 없습니다.",
            "시장 수급 기준일이 2026-09-17로 최신 거래일과 시차가 있습니다.",
            "유럽·일부 아시아 지수는 2026-09-18 기준이라 미국 9월 21일 움직임과 동시 비교가 제한됩니다.",
            "ML 평가는 5일 상대성과의 실제 결과가 아직 pending이며 KOSPI 절대 방향을 검증하지 않습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-22/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6724.34,
              "change_pct": 0.09,
              "sma20": 6802.33,
              "disparity_20_pct": null,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "kosdaq": {
              "close": 821.67,
              "change_pct": 0.7,
              "sma20": null,
              "disparity_20_pct": 0.28,
              "sentiment": 70,
              "sentiment_signal": "낙관"
            },
            "fear_greed_score": 54,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 44,
                "value": -1.15,
                "description": "KOSPI 20일선 대비 -1.15%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 100,
                "value": 2.0,
                "description": "KOSPI 20일 변동성 2.00%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 50,
                "value": 5,
                "description": "최근 10일 중 5일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 43,
                "value": -1.15,
                "description": "20일 이격도 -1.15%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 19,
                "value": 0.79,
                "description": "거래량 5일/20일 비율 0.79x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "52주高 근접 1개, 低 근접 1개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-17",
              "collected_at": "2026-09-21T22:30:37.579911+00:00",
              "hash": "f452be0ffc687f68bd96f127db922bff71ee68183f7185cc728461e4e856618f",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -2632087782348,
                  "unit": "KRW",
                  "display_value": -26320.87782348,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 249709158339,
                  "unit": "KRW",
                  "display_value": 2497.09158339,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": 46706575369,
                  "unit": "KRW",
                  "display_value": 467.06575369,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 50848523576,
                  "unit": "KRW",
                  "display_value": 508.48523576,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-21",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 68,
                  "close": 198400,
                  "change_pct": 0.46,
                  "rsi": 39.4,
                  "macd_hist": -1748.946,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -34.7,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(39)",
                    "BB하단(0.10)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 68,
                  "close": 40300,
                  "change_pct": 0.12,
                  "rsi": 37.5,
                  "macd_hist": -910.889,
                  "bb_pband": 0.02,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -49.1,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.02)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 177900,
                  "change_pct": 1.25,
                  "rsi": 55.6,
                  "macd_hist": 317.876,
                  "bb_pband": 0.74,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -8.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 113200,
                  "change_pct": 1.89,
                  "rsi": 55.7,
                  "macd_hist": -132.378,
                  "bb_pband": 0.7,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -2.8,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 65,
                  "close": 20300,
                  "change_pct": -1.22,
                  "rsi": 29.7,
                  "macd_hist": -136.957,
                  "bb_pband": -0.12,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -31.2,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI과매도(30)",
                    "BB하단(-0.12)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 355500,
                  "change_pct": -2.2,
                  "rsi": 48.6,
                  "macd_hist": -765.264,
                  "bb_pband": 0.32,
                  "vol_ratio": 1,
                  "pct_52w_high": -32.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 60,
                  "close": 261500,
                  "change_pct": -2.43,
                  "rsi": 43.7,
                  "macd_hist": -1612.695,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -40.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.08)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 179400,
                  "change_pct": -2.13,
                  "rsi": 50.7,
                  "macd_hist": -1406.518,
                  "bb_pband": 0.35,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -40.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 60,
                  "close": 36450,
                  "change_pct": 0.83,
                  "rsi": 64.1,
                  "macd_hist": 176.324,
                  "bb_pband": 0.85,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -12.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 60,
                  "close": 135700,
                  "change_pct": 1.5,
                  "rsi": 51.8,
                  "macd_hist": -408.737,
                  "bb_pband": 0.46,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -4.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 60,
                  "close": 86500,
                  "change_pct": 0.93,
                  "rsi": 54.5,
                  "macd_hist": -234.02,
                  "bb_pband": 0.58,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -37.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29050,
                  "change_pct": -0.34,
                  "rsi": 54.9,
                  "macd_hist": -113.535,
                  "bb_pband": 0.5,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -6.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 144700,
                  "change_pct": 1.4,
                  "rsi": 58.6,
                  "macd_hist": -404.577,
                  "bb_pband": 0.63,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -14.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 126300,
                  "change_pct": 0.56,
                  "rsi": 53.7,
                  "macd_hist": -702.242,
                  "bb_pband": 0.51,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -36.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 129700,
                  "change_pct": 2.37,
                  "rsi": 56.6,
                  "macd_hist": -433.589,
                  "bb_pband": 0.63,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -13.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "024110",
                  "name": "기업은행",
                  "score": 60,
                  "close": 20150,
                  "change_pct": 0,
                  "rsi": 42.1,
                  "macd_hist": -68.119,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -31.8,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.10)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 58,
                  "close": 1403000,
                  "change_pct": 0.29,
                  "rsi": 38.6,
                  "macd_hist": -8413.444,
                  "bb_pband": 0.25,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -29.4,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(39)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 58,
                  "close": 256000,
                  "change_pct": 0.79,
                  "rsi": 38.5,
                  "macd_hist": -4771.127,
                  "bb_pband": 0.19,
                  "vol_ratio": 0.3,
                  "pct_52w_high": -41.5,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 55,
                  "close": 55300,
                  "change_pct": 2.98,
                  "rsi": 63.4,
                  "macd_hist": -126.112,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -39.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 55,
                  "close": 374500,
                  "change_pct": -1.58,
                  "rsi": 26.1,
                  "macd_hist": -3318.298,
                  "bb_pband": 0.12,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -54.4,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI과매도(26)",
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 42,
                  "close": 275000,
                  "change_pct": 5.77,
                  "rsi": 57.6,
                  "macd_hist": 801.934,
                  "bb_pband": 1,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -26.6,
                  "alignment": "역배열",
                  "reasons": [
                    "MACD골든",
                    "BB상단(1.00)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 40,
                  "close": 578000,
                  "change_pct": 5.09,
                  "rsi": 52.1,
                  "macd_hist": -1387.111,
                  "bb_pband": 0.61,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -34.5,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 50,
                  "close": 368500,
                  "change_pct": 4.24,
                  "rsi": 51.1,
                  "macd_hist": -1818.086,
                  "bb_pband": 0.46,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -34.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 40,
                  "close": 293500,
                  "change_pct": 3.53,
                  "rsi": 47.5,
                  "macd_hist": -1176.869,
                  "bb_pband": 0.35,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -43.2,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 52,
                  "close": 1432000,
                  "change_pct": 3.17,
                  "rsi": 54,
                  "macd_hist": 2065.021,
                  "bb_pband": 0.78,
                  "vol_ratio": 1,
                  "pct_52w_high": -40.8,
                  "alignment": "역배열",
                  "reasons": [
                    "MACD골든",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 55,
                  "close": 55300,
                  "change_pct": 2.98,
                  "rsi": 63.4,
                  "macd_hist": -126.112,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -39.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 50,
                  "close": 153900,
                  "change_pct": 2.81,
                  "rsi": 55.4,
                  "macd_hist": -912.52,
                  "bb_pband": 0.63,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -13.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 129700,
                  "change_pct": 2.37,
                  "rsi": 56.6,
                  "macd_hist": -433.589,
                  "bb_pband": 0.63,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -13.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 50,
                  "close": 225000,
                  "change_pct": 2.27,
                  "rsi": 50,
                  "macd_hist": -1774.589,
                  "bb_pband": 0.39,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -42.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 50,
                  "close": 203000,
                  "change_pct": 2.16,
                  "rsi": 52.6,
                  "macd_hist": -1015.408,
                  "bb_pband": 0.52,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -53.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "losers": [
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 60,
                  "close": 261500,
                  "change_pct": -2.43,
                  "rsi": 43.7,
                  "macd_hist": -1612.695,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -40.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.08)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 355500,
                  "change_pct": -2.2,
                  "rsi": 48.6,
                  "macd_hist": -765.264,
                  "bb_pband": 0.32,
                  "vol_ratio": 1,
                  "pct_52w_high": -32.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 179400,
                  "change_pct": -2.13,
                  "rsi": 50.7,
                  "macd_hist": -1406.518,
                  "bb_pband": 0.35,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -40.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "352820",
                  "name": "하이브",
                  "score": 53,
                  "close": 163400,
                  "change_pct": -1.98,
                  "rsi": 33.9,
                  "macd_hist": -642.305,
                  "bb_pband": -0.07,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -59.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(34)",
                    "BB하단(-0.07)",
                    "52w低근접",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "259960",
                  "name": "크래프톤",
                  "score": 53,
                  "close": 200500,
                  "change_pct": -1.96,
                  "rsi": 32.7,
                  "macd_hist": -888.403,
                  "bb_pband": 0.07,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -36.9,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(33)",
                    "BB하단(0.07)",
                    "52w低근접",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "017670",
                  "name": "SK텔레콤",
                  "score": 50,
                  "close": 87400,
                  "change_pct": -1.91,
                  "rsi": 41.2,
                  "macd_hist": -677.652,
                  "bb_pband": 0.18,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -37.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 55,
                  "close": 374500,
                  "change_pct": -1.58,
                  "rsi": 26.1,
                  "macd_hist": -3318.298,
                  "bb_pband": 0.12,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -54.4,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI과매도(26)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "005380",
                  "name": "현대차",
                  "score": 48,
                  "close": 361500,
                  "change_pct": -1.36,
                  "rsi": 35.2,
                  "macd_hist": -1238.281,
                  "bb_pband": 0.14,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -53.8,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(35)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 40,
                  "close": 103900,
                  "change_pct": -1.33,
                  "rsi": 44.8,
                  "macd_hist": -488.801,
                  "bb_pband": 0.23,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -59.4,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 65,
                  "close": 20300,
                  "change_pct": -1.22,
                  "rsi": 29.7,
                  "macd_hist": -136.957,
                  "bb_pband": -0.12,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -31.2,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI과매도(30)",
                    "BB하단(-0.12)",
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "highs_52w": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 113200,
                  "change_pct": 1.89,
                  "rsi": 55.7,
                  "macd_hist": -132.378,
                  "bb_pband": 0.7,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -2.8,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                }
              ]
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7764.7,
              "change_pct": 1.49,
              "date": "2026-09-21"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 27122.09,
              "change_pct": 2.26,
              "date": "2026-09-21"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52048.83,
              "change_pct": 0.71,
              "date": "2026-09-21"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 12433.17,
              "change_pct": 4.29,
              "date": "2026-09-21"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 227.38,
              "change_pct": 2.3,
              "date": "2026-09-21"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 615.52,
              "change_pct": 9.95,
              "date": "2026-09-21"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 1043.96,
              "change_pct": 2.77,
              "date": "2026-09-21"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 194.23,
              "change_pct": 9.29,
              "date": "2026-09-21"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 121.78,
              "change_pct": 12.14,
              "date": "2026-09-21"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 14.87,
              "change_pct": 0.41,
              "date": "2026-09-21"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 20.39,
              "change_pct": 5.7,
              "date": "2026-09-21"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.96,
              "change_pct": -0.7,
              "date": "2026-09-21"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1374.76,
              "change_pct": -0.35,
              "date": "2026-09-21"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 157.35,
              "change_pct": 0.78,
              "date": "2026-09-21"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 100.43,
              "change_pct": 0.2,
              "date": "2026-09-21"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 95.87,
              "change_pct": -7.7,
              "date": "2026-09-21"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 91.93,
              "change_pct": -8.34,
              "date": "2026-09-21"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4390.2,
              "change_pct": -0.78,
              "date": "2026-09-21"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 65018.95,
              "change_pct": 1.38,
              "date": "2026-09-18"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 24750.78,
              "change_pct": 0.6,
              "date": "2026-09-18"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6236.2,
              "change_pct": -1.37,
              "date": "2026-09-18"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25304.06,
              "change_pct": -1.6,
              "date": "2026-09-18"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 741.47,
              "change_pct": 2.77,
              "date": "2026-09-21"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 596.03,
              "change_pct": 4.02,
              "date": "2026-09-21"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 58.07,
              "change_pct": -0.24,
              "date": "2026-09-21"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 129.2,
              "change_pct": 1.79,
              "date": "2026-09-21"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 82.29,
              "change_pct": 2.68,
              "date": "2026-09-21"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.23,
              "change_pct": 2,
              "date": "2026-09-21"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.45,
              "change_pct": 0.36,
              "date": "2026-09-21"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 35.7,
              "change_pct": -0.56,
              "date": "2026-09-21"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 334.131,
                "latest_date": "2026-08-01",
                "yoy_pct": 3.71,
                "mom_pct": 0.4
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 18
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 24
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 44
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 52
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 66
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 80
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 85
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": 25,
                "label": "긍정",
                "summary": "호재: 매수, 수출 호조, 랠리 | 악재: 매도, 순매도",
                "articles": [
                  "다시 오르는 반도체…특별배당 받으려면 삼성전자 28일까지 매수해야 - 세계일보",
                  "“삼전 1000주면 460만원”…역대급 배당 앞두고 28일 ‘막차’ - 마켓인"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 성장, 기대감 | 악재: 급락, 경고",
                "articles": [
                  "HPSP 투자분석 2026. 09. 19 - 주달",
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 회복, 상승, 매수 | 악재: 급락",
                "articles": [
                  "‘역시 믿을 건 삼전닉스?’ 급락 이전 주가까지 회복…30만전자 다시 시동 [투자360] - v.daum.net",
                  "상성전자 SK하이닉스 한미 기준금리 인상에도 주가 굳건, 다음 관전포인트는 미중 정상회담 - businesspost.co.kr"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 유망, 상승, 성장 | 악재: 하락",
                "articles": [
                  "“삼성SDI 지금 들어가야?”...국내 주식 유망주 더 있다 - 매일경제",
                  "[헬로스톡] 9/21 주목할 종목 : 삼성SDI·삼성물산·GS건설·카카오 - 헬로티"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 주주환원, 상승, 강세 | 악재: 우려, 하락",
                "articles": [
                  "키움증권 \"KB금융, 업종 내 주주환원율 1등…목표주가 상향\" - 연합뉴스",
                  "쪼그라든 거래대금·금리 상승 '이중고'…증권업계 실적 타격 우려 - kbthink.com"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 상승, 자사주 매입, 주주환원",
                "articles": [
                  "'자사주 2000억' 소각에도 주가 요지부동…속타는 셀트리온 - ebn.co.kr",
                  "[특징주] 셀트리온, 1000억 자사주 매입 후 소각 결정…주가는 약보합 - v.daum.net"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 수주, 강세, 상승",
                "articles": [
                  "[공시 Pick] 삼성물산, 성수3지구 1.8조 수주…4%대 주가 강세 - news2day.co.kr",
                  "[헬로스톡] 9/21 주목할 종목 : 삼성SDI·삼성물산·GS건설·카카오 - 헬로티"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 12,
                "label": "중립",
                "summary": "호재: 실적 개선, 수주, 상승 | 악재: 하락, 부진",
                "articles": [
                  "[리포트 브리핑]LG에너지솔루션, '원-달러 환율 하락에도 실적 개선세 지속' 목표가 550,000원 - iM증권 - 뉴스핌",
                  "[종목 포커스] LG에너지솔루션, 북미 ESS 대규모 수주로 주가 탄력 받을까 - dailyinvest.kr"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -25,
                "label": "부정",
                "summary": "악재: 하락, 급락, 영업이익 감소",
                "articles": [
                  "[증시다트] 현대차·기아 목표가 동반 상향…실적 온도차에도 ‘로봇 프리미엄’ 커졌다 - :: 위즈경제 ::"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -15,
                "label": "부정",
                "summary": "악재: 불확실, 하락",
                "articles": [
                  "“카카오, 인적분할 불확실성 반영…목표주가 하향”[클릭e종목] - 아시아경제",
                  "카카오, 인적분할 초기 불확실성 불가피…목표가↓-IBK - 인포스탁데일리"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -15,
                "label": "부정",
                "summary": "호재: 성장, 매수, 순매수 | 악재: 하락, 블록딜, 우려",
                "articles": [
                  "[서치 e종목] 리노공업, 대규모 캐파 증설 등으로 점진적 성장 전망…주가 향방은? - dailyinvest.kr",
                  "[단독] 리노공업, 8600억 규모 블록딜 철회 검토…주가하락·파업 내우외환 - greened.kr"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -9,
                "label": "중립",
                "summary": "호재: 상승, 수주, 기대 | 악재: 적자, 하락, 유상증자",
                "articles": [
                  "삼성바이오, 3조 유증 택한 이유…‘노사·수주’에 주가 달렸다 - 조선비즈 - Chosunbiz",
                  "삼성바이오로직스 노사 갈등, 법적 공방으로…“인사조치 검토” vs “억지성 고소” - 쿠키뉴스"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": 0,
                "label": "중립",
                "summary": "호재: 회복, 호재, 확대 | 악재: 하락",
                "articles": [
                  "주가 두자릿수 뛴 포스코퓨처엠…\"이차전지 바닥 끝났나\" - 연합인포맥스",
                  "키움증권, 포스코퓨처엠 투자의견·목표가↑…\"매출 회복 전망\" - 연합뉴스"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0071,
            "tree_metrics": {
              "avg_auc": 0.7797,
              "avg_accuracy": 0.7215
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7737,
              "accuracy": 0.6994
            },
            "relative_strength": [
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 14440,
                "relative_rank_pct": 80,
                "return_5d_pct": 9.73,
                "return_20d_pct": 28.01,
                "rsi": 73.9,
                "position_52w_pct": 18.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 140200,
                "relative_rank_pct": 56.8,
                "return_5d_pct": 4.71,
                "return_20d_pct": 7.76,
                "rsi": 53.6,
                "position_52w_pct": 68.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012450",
                "name": "한화에어로스페이스",
                "price": 1074000,
                "relative_rank_pct": 55.7,
                "return_5d_pct": -5.21,
                "return_20d_pct": -2.81,
                "rsi": 52.4,
                "position_52w_pct": 33.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 10910,
                "relative_rank_pct": 55.1,
                "return_5d_pct": 20.15,
                "return_20d_pct": 28.35,
                "rsi": 68.5,
                "position_52w_pct": 19.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1206,
                "relative_rank_pct": 54,
                "return_5d_pct": 5.24,
                "return_20d_pct": -16.83,
                "rsi": 25.8,
                "position_52w_pct": 9.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "329180",
                "name": "HD현대중공업",
                "price": 452000,
                "relative_rank_pct": 53,
                "return_5d_pct": -3.83,
                "return_20d_pct": -0.77,
                "rsi": 49.7,
                "position_52w_pct": 11.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "price": 113200,
                "relative_rank_pct": 49.7,
                "return_5d_pct": -1.57,
                "return_20d_pct": 9.58,
                "rsi": 53.4,
                "position_52w_pct": 93.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000150",
                "name": "두산",
                "price": 1445000,
                "relative_rank_pct": 48.6,
                "return_5d_pct": 16.34,
                "return_20d_pct": 33.18,
                "rsi": 67.2,
                "position_52w_pct": 46.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "010140",
                "name": "삼성중공업",
                "price": 20750,
                "relative_rank_pct": 48.6,
                "return_5d_pct": -6.11,
                "return_20d_pct": 3.23,
                "rsi": 48.5,
                "position_52w_pct": 13.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "298040",
                "name": "효성중공업",
                "price": 2918000,
                "relative_rank_pct": 47,
                "return_5d_pct": 4.55,
                "return_20d_pct": 4.51,
                "rsi": 50.1,
                "position_52w_pct": 48.7,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4285,
                "relative_rank_pct": 20,
                "return_5d_pct": -2.39,
                "return_20d_pct": 2.51,
                "rsi": 43.5,
                "position_52w_pct": 32.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "price": 198400,
                "relative_rank_pct": 22.2,
                "return_5d_pct": -2.27,
                "return_20d_pct": -11.23,
                "rsi": 31.3,
                "position_52w_pct": 14.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "price": 181700,
                "relative_rank_pct": 23.8,
                "return_5d_pct": 2.66,
                "return_20d_pct": -6.34,
                "rsi": 36.2,
                "position_52w_pct": 28.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "033780",
                "name": "KT&G",
                "price": 173600,
                "relative_rank_pct": 24.9,
                "return_5d_pct": 0.93,
                "return_20d_pct": 0.23,
                "rsi": 46.2,
                "position_52w_pct": 70,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1403000,
                "relative_rank_pct": 25.9,
                "return_5d_pct": 0.07,
                "return_20d_pct": -10.81,
                "rsi": 20.9,
                "position_52w_pct": 23.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "010130",
                "name": "고려아연",
                "price": 1136000,
                "relative_rank_pct": 26.5,
                "return_5d_pct": -1.39,
                "return_20d_pct": -15.48,
                "rsi": 19.3,
                "position_52w_pct": 19.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000270",
                "name": "기아",
                "price": 120400,
                "relative_rank_pct": 27.6,
                "return_5d_pct": -2.51,
                "return_20d_pct": -8.44,
                "rsi": 28.6,
                "position_52w_pct": 18.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 21050,
                "relative_rank_pct": 28.1,
                "return_5d_pct": -0.24,
                "return_20d_pct": -7.88,
                "rsi": 46.1,
                "position_52w_pct": 44.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "017670",
                "name": "SK텔레콤",
                "price": 87400,
                "relative_rank_pct": 28.6,
                "return_5d_pct": -1.69,
                "return_20d_pct": -14.57,
                "rsi": 32.4,
                "position_52w_pct": 40.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 275000,
                "relative_rank_pct": 30.8,
                "return_5d_pct": 10.66,
                "return_20d_pct": 7,
                "rsi": 58.9,
                "position_52w_pct": 67.3,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {},
        "actual_market_result": {
          "status": "not_available",
          "reason": "evening_not_started",
          "kospi_close": null,
          "kosdaq_close": null,
          "direction": null,
          "return_pct": null,
          "observed_at": null,
          "llm_success": null
        },
        "llm_evaluation": {
          "status": "pending",
          "success": null,
          "failure": null
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 50,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "none",
          "proposal_id": null,
          "actual_applied": false,
          "observation_state": "not_started"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-22/morning/"
          },
          "evening": {
            "status": "not_started",
            "path": null
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-22-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-b7068ab6741d1d96"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-22-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-22-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-21-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-21",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-66a398278642070a",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-21",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "하락",
          "confidence": 0.68,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "1e42e8cfa6a7c6f05d087580c8f93c58ed526a51da1d7ab6f975d080c350315e",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "rationale",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "해외 counter-signal을 별도 평가하고 장중 수급·breadth 부재를 불확실성으로 유지하여 국내 약세와 반도체 강세가 충돌하는 보수적 하락 판단에 반영했습니다."
          },
          "snapshot_cutoff": "2026-09-21T07:31:04.993226+09:00",
          "generated_at": "2026-09-21T07:34:24.783364+09:00",
          "summary": "KOSPI는 국내 폭과 추세의 약세가 우세해 하락을 전망합니다. 직전 종가는 6,724.34로 20일 이격도는 -1.15%이며, 분석 종목 49개 중 상승 13개·하락 36개, 역배열 17개로 시장 내부가 약합니다. 다만 SOX 2.78%, 나스닥 0.39%, 엔비디아 1.34%, AMD 2.70% 등 해외 반도체 counter-signal이 하락 폭을 제한할 수 있어 확신은 중간 수준입니다.",
          "market_summary": "국내 기준일은 2026-09-18입니다. KOSPI는 6,724.34로 0.09% 상승했지만 20일 이격도는 -1.15%이고 sentiment는 중립(50)입니다. 분석 종목의 평균 등락률은 -0.33%이며 상승 13개, 하락 36개, 보합권을 제외한 하락 우위로 breadth가 약합니다. KOSDAQ은 821.67로 0.70% 상승하고 sentiment 70(낙관)으로 상대적으로 견조하지만 KOSPI 방향을 바꾸기에는 내부 확산이 부족합니다.",
          "overseas_market_and_overnight": "해외는 혼조입니다. S&P500 +0.17%, 나스닥 +0.39%, 다우 -0.18%였고 SOX는 +2.78%, SMH는 +2.21%로 반도체와 성장주가 강했습니다. 엔비디아 +1.34%, AMD +2.70%, MU +3.92%가 국내 반도체에 우호적인 counter-signal을 제공합니다. 반면 유로 STOXX50 -1.37%, DAX -1.60%, POSCO ADR -3.13%, KB금융 ADR -2.23%, 신한지주 ADR -3.00%는 국내 전반 위험선호를 확인하지 못합니다. 원/달러 1,385.33원은 +0.42%로 원화 부담도 남아 있습니다.",
          "macro": "미국 CPI는 2026년 8월 기준 전년 대비 3.71%, 전월 대비 0.40%이고 PPI는 전년 대비 9.85%, 전월 대비 0.96%로 물가 압력이 관찰됩니다. 실업률은 4.1%입니다. 9월 16일 FOMC는 이미 지났고 다음 주요 일정은 10월 10일 미국 9월 CPI, 11월 5일 FOMC, 10월 16일 한국은행 금통위로 단기 이벤트 공백 속에서도 금리·물가 민감도가 남아 있습니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 54로 중립이며 관망 또는 선별 매수 구간입니다. 수급 데이터는 2026-09-17 기준으로 available이지만 장중 breadth와 당일 외국인·기관 수급은 스냅샷에 없어 방향 근거로 대체하지 않고 불확실성으로 유지합니다. 종목 뉴스는 삼성전자 -15, 삼성바이오로직스 -15, 기아 -18 등 부정 신호와 SK하이닉스 +21, 삼성SDI +25, LG에너지솔루션 +34 등 긍정 신호가 교차해 시장 전체 확인은 중립에 가깝습니다.",
          "ml_summary": "ML은 50개 예측을 생성했고 전 종목 market_bias는 약세입니다. 5-fold tree 평균 accuracy 0.7292, AUC 0.7818, LSTM AUC 0.7781·accuracy 0.7148이며, 평균 5일 기대수익률은 -1.2454%, 20일은 +0.6574%입니다. 이는 5일 상대성과 신호로서 KOSPI 절대 방향과 분리해 참고하며, 단기 약세와 중기 반등 가능성이 함께 나타납니다.",
          "forecast": "기본 시나리오는 국내 breadth 약세가 이어져 KOSPI가 하락하는 것입니다. SOX·미국 반도체 강세가 삼성전자·SK하이닉스를 통해 하락 폭을 제한하거나 보합으로 되돌릴 수 있는 상쇄 시나리오도 열어 둡니다.",
          "rationale": [
            "KOSPI 직전 종가는 6,724.34이며 20일 이격도 -1.15%로 추세 회복이 확인되지 않았습니다.",
            "분석 종목 49개 중 상승 13개·하락 36개, 정배열 13개·혼조 19개·역배열 17개로 내부 확산이 하락 쪽에 치우쳤습니다.",
            "삼성전자 RSI 50.6·MACD 히스토그램 -412.6254·역배열, 현대차 RSI 37.0·역배열 등 주요 대형주에 기술적 부담이 남아 있습니다.",
            "SOX +2.78%, SMH +2.21%, 엔비디아 +1.34%, AMD +2.70%, MU +3.92%는 국내 반도체와 지수 하락을 제한할 해외 counter-signal입니다.",
            "유로 STOXX50 -1.37%, DAX -1.60%, 주요 국내 금융 ADR 약세와 원/달러 1,385.33원(+0.42%)은 전면적인 위험선호 회복과 거리가 있습니다.",
            "공포·탐욕 54(중립)와 종목 뉴스의 긍정·부정 교차는 투매보다는 선별 장세를 시사하지만, 하락 breadth를 뒤집을 정도의 확인은 아닙니다.",
            "ML 50개 예측은 모두 약세 bias이고 평균 5일 기대수익률 -1.2454%로 단기 상대성과가 보수적이며, 이는 절대 KOSPI 판단을 보조하는 신호입니다."
          ],
          "observation_points": [
            "KOSPI 6,724.34와 20일 이격도 -1.15%",
            "KOSPI breadth 및 대형주 반등 지속 여부",
            "SOX·삼성전자·SK하이닉스의 반도체 counter-signal",
            "원/달러 1,385.33원과 해외 금융 ADR 흐름",
            "공포·탐욕 54 및 외국인·기관 당일 수급 공개 여부",
            "ML 5일 상대성과와 국내 지수 절대 방향의 괴리"
          ],
          "uncertainties": [
            "장중 breadth와 당일 외국인·기관 수급이 스냅샷에 없어 방향 확신을 제한합니다.",
            "해외 반도체 강세가 국내 전체 시장으로 확산될지, 삼성전자·SK하이닉스에 국한될지 확인되지 않았습니다.",
            "수급 데이터는 2026-09-17 기준으로 최신 장 마감과 시차가 있습니다.",
            "ML의 5일 상대성과 목표는 KOSPI 절대 수익률 예측이 아니며 아직 실제 결과 평가가 pending입니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-21/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6724.34,
              "change_pct": 0.09,
              "sma20": 6802.33,
              "disparity_20_pct": null,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "kosdaq": {
              "close": 821.67,
              "change_pct": 0.7,
              "sma20": null,
              "disparity_20_pct": 0.28,
              "sentiment": 70,
              "sentiment_signal": "낙관"
            },
            "fear_greed_score": 54,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 44,
                "value": -1.15,
                "description": "KOSPI 20일선 대비 -1.15%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 100,
                "value": 2.0,
                "description": "KOSPI 20일 변동성 2.00%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 50,
                "value": 5,
                "description": "최근 10일 중 5일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 43,
                "value": -1.15,
                "description": "20일 이격도 -1.15%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 19,
                "value": 0.79,
                "description": "거래량 5일/20일 비율 0.79x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 49,
                "value": null,
                "description": "52주高 근접 0개, 低 근접 1개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-17",
              "collected_at": "2026-09-20T22:30:30.892329+00:00",
              "hash": "d05cd3522129dbd84f8a9a958d8d70c741bb74d94e48b2c7cf95bfc0bdf84539",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -2632087782348,
                  "unit": "KRW",
                  "display_value": -26320.87782348,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 249709158339,
                  "unit": "KRW",
                  "display_value": 2497.09158339,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": 46706575369,
                  "unit": "KRW",
                  "display_value": 467.06575369,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 50848523576,
                  "unit": "KRW",
                  "display_value": 508.48523576,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-18",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 68,
                  "close": 197500,
                  "change_pct": -1.5,
                  "rsi": 38.4,
                  "macd_hist": -1843.183,
                  "bb_pband": 0.03,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -35,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.03)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 68,
                  "close": 40250,
                  "change_pct": -0.25,
                  "rsi": 37.3,
                  "macd_hist": -876.648,
                  "bb_pband": -0.06,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -49.2,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(37)",
                    "BB하단(-0.06)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 175700,
                  "change_pct": -2.23,
                  "rsi": 53.2,
                  "macd_hist": 394.974,
                  "bb_pband": 0.64,
                  "vol_ratio": 1,
                  "pct_52w_high": -9.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 57100,
                  "change_pct": -1.72,
                  "rsi": 56.1,
                  "macd_hist": 195.315,
                  "bb_pband": 0.79,
                  "vol_ratio": 0.2,
                  "pct_52w_high": -37.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 63,
                  "close": 20550,
                  "change_pct": -1.44,
                  "rsi": 32.4,
                  "macd_hist": -112.11,
                  "bb_pband": -0.14,
                  "vol_ratio": 2.3,
                  "pct_52w_high": -30.3,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(32)",
                    "BB하단(-0.14)",
                    "거래량x2.3",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 363500,
                  "change_pct": -0.95,
                  "rsi": 51.9,
                  "macd_hist": -195.132,
                  "bb_pband": 0.55,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -31,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 183300,
                  "change_pct": -0.87,
                  "rsi": 53.2,
                  "macd_hist": -952.396,
                  "bb_pband": 0.49,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -38.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 60,
                  "close": 36150,
                  "change_pct": -0.69,
                  "rsi": 62.6,
                  "macd_hist": 197.752,
                  "bb_pband": 0.82,
                  "vol_ratio": 1,
                  "pct_52w_high": -12.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 60,
                  "close": 85700,
                  "change_pct": -0.81,
                  "rsi": 53.4,
                  "macd_hist": -190.445,
                  "bb_pband": 0.56,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -38.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29150,
                  "change_pct": -1.35,
                  "rsi": 55.9,
                  "macd_hist": -78.433,
                  "bb_pband": 0.55,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -6.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 142700,
                  "change_pct": -1.11,
                  "rsi": 55.4,
                  "macd_hist": -493.05,
                  "bb_pband": 0.48,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -15.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 125600,
                  "change_pct": -0.71,
                  "rsi": 53.1,
                  "macd_hist": -610.12,
                  "bb_pband": 0.52,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -36.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 126700,
                  "change_pct": -0.08,
                  "rsi": 52.4,
                  "macd_hist": -578.247,
                  "bb_pband": 0.51,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -15.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "024110",
                  "name": "기업은행",
                  "score": 60,
                  "close": 20150,
                  "change_pct": -0.74,
                  "rsi": 42.1,
                  "macd_hist": -60.653,
                  "bb_pband": 0.09,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -31.8,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.09)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 58,
                  "close": 1399000,
                  "change_pct": -0.36,
                  "rsi": 37.6,
                  "macd_hist": -10362.669,
                  "bb_pband": 0.21,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -29.6,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 58,
                  "close": 254000,
                  "change_pct": -0.2,
                  "rsi": 37.2,
                  "macd_hist": -5535.233,
                  "bb_pband": 0.14,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -42,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(37)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "352820",
                  "name": "하이브",
                  "score": 58,
                  "close": 166700,
                  "change_pct": -0.12,
                  "rsi": 36.9,
                  "macd_hist": -367.349,
                  "bb_pband": 0,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -58.9,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "BB하단(-0.00)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1849000,
                  "change_pct": 4.7,
                  "rsi": 57.1,
                  "macd_hist": 14112.071,
                  "bb_pband": 0.9,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -38.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 55,
                  "close": 53700,
                  "change_pct": -0.74,
                  "rsi": 60.3,
                  "macd_hist": -170.863,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -41.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 55,
                  "close": 380500,
                  "change_pct": -0.78,
                  "rsi": 27.4,
                  "macd_hist": -3532.258,
                  "bb_pband": 0.14,
                  "vol_ratio": 1,
                  "pct_52w_high": -53.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI과매도(27)",
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1849000,
                  "change_pct": 4.7,
                  "rsi": 57.1,
                  "macd_hist": 14112.071,
                  "bb_pband": 0.9,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -38.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 35,
                  "close": 69600,
                  "change_pct": 2.96,
                  "rsi": 54.7,
                  "macd_hist": 360.456,
                  "bb_pband": 0.91,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -46,
                  "alignment": "역배열",
                  "reasons": [
                    "BB상단(0.91)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 40,
                  "close": 1388000,
                  "change_pct": 2.74,
                  "rsi": 50.7,
                  "macd_hist": -2340.785,
                  "bb_pband": 0.54,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -42.6,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "036570",
                  "name": "엔씨소프트",
                  "score": 40,
                  "close": 209000,
                  "change_pct": 1.95,
                  "rsi": 40.7,
                  "macd_hist": -511.791,
                  "bb_pband": 0.31,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -39.2,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 40,
                  "close": 260000,
                  "change_pct": 1.56,
                  "rsi": 50.6,
                  "macd_hist": -412.625,
                  "bb_pband": 0.53,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -30.6,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "017670",
                  "name": "SK텔레콤",
                  "score": 50,
                  "close": 89100,
                  "change_pct": 1.48,
                  "rsi": 44.3,
                  "macd_hist": -703.721,
                  "bb_pband": 0.27,
                  "vol_ratio": 1.7,
                  "pct_52w_high": -36.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 40,
                  "close": 105300,
                  "change_pct": 1.35,
                  "rsi": 46,
                  "macd_hist": -449.02,
                  "bb_pband": 0.27,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -58.9,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 50,
                  "close": 220000,
                  "change_pct": 0.92,
                  "rsi": 46.6,
                  "macd_hist": -2429.78,
                  "bb_pband": 0.24,
                  "vol_ratio": 1,
                  "pct_52w_high": -43.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 40,
                  "close": 550000,
                  "change_pct": 0.73,
                  "rsi": 45.8,
                  "macd_hist": -3000.736,
                  "bb_pband": 0.33,
                  "vol_ratio": 1.9,
                  "pct_52w_high": -37.7,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "005380",
                  "name": "현대차",
                  "score": 48,
                  "close": 366500,
                  "change_pct": 0.55,
                  "rsi": 37,
                  "macd_hist": -1309.838,
                  "bb_pband": 0.18,
                  "vol_ratio": 1,
                  "pct_52w_high": -53.2,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "역배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 48,
                  "close": 133700,
                  "change_pct": -3.47,
                  "rsi": 48.9,
                  "macd_hist": -327.486,
                  "bb_pband": 0.32,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -6.2,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 48,
                  "close": 111100,
                  "change_pct": -2.63,
                  "rsi": 52.2,
                  "macd_hist": -131.659,
                  "bb_pband": 0.52,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -4.6,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 175700,
                  "change_pct": -2.23,
                  "rsi": 53.2,
                  "macd_hist": 394.974,
                  "bb_pband": 0.64,
                  "vol_ratio": 1,
                  "pct_52w_high": -9.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 50,
                  "close": 149700,
                  "change_pct": -2.03,
                  "rsi": 52.1,
                  "macd_hist": -1231.512,
                  "bb_pband": 0.5,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -15.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 57100,
                  "change_pct": -1.72,
                  "rsi": 56.1,
                  "macd_hist": 195.315,
                  "bb_pband": 0.79,
                  "vol_ratio": 0.2,
                  "pct_52w_high": -37.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 50,
                  "close": 655000,
                  "change_pct": -1.65,
                  "rsi": 49.7,
                  "macd_hist": -1579.373,
                  "bb_pband": 0.36,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -13.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "035250",
                  "name": "강원랜드",
                  "score": 55,
                  "close": 14420,
                  "change_pct": -1.57,
                  "rsi": 42.9,
                  "macd_hist": -26.016,
                  "bb_pband": -0.02,
                  "vol_ratio": 2,
                  "pct_52w_high": -26.4,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(-0.02)",
                    "52w低근접"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 68,
                  "close": 197500,
                  "change_pct": -1.5,
                  "rsi": 38.4,
                  "macd_hist": -1843.183,
                  "bb_pband": 0.03,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -35,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.03)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 63,
                  "close": 20550,
                  "change_pct": -1.44,
                  "rsi": 32.4,
                  "macd_hist": -112.11,
                  "bb_pband": -0.14,
                  "vol_ratio": 2.3,
                  "pct_52w_high": -30.3,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(32)",
                    "BB하단(-0.14)",
                    "거래량x2.3",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29150,
                  "change_pct": -1.35,
                  "rsi": 55.9,
                  "macd_hist": -78.433,
                  "bb_pband": 0.55,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -6.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7650.5,
              "change_pct": 0.17,
              "date": "2026-09-18"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26522.54,
              "change_pct": 0.39,
              "date": "2026-09-18"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 51682.64,
              "change_pct": -0.18,
              "date": "2026-09-18"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11921.69,
              "change_pct": 2.78,
              "date": "2026-09-18"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 222.27,
              "change_pct": 1.34,
              "date": "2026-09-18"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 559.82,
              "change_pct": 2.7,
              "date": "2026-09-18"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 1015.8,
              "change_pct": 3.92,
              "date": "2026-09-18"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 177.72,
              "change_pct": -5.82,
              "date": "2026-09-18"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 108.6,
              "change_pct": -0.18,
              "date": "2026-09-18"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 14.81,
              "change_pct": -4.08,
              "date": "2026-09-18"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 19.29,
              "change_pct": -3.36,
              "date": "2026-09-18"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 5,
              "change_pct": 1.03,
              "date": "2026-09-18"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1385.33,
              "change_pct": 0.42,
              "date": "2026-09-20"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 156.9,
              "change_pct": 0.5,
              "date": "2026-09-20"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 100.23,
              "change_pct": 0.01,
              "date": "2026-09-20"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 99.8,
              "change_pct": -3.92,
              "date": "2026-09-20"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 96.61,
              "change_pct": -3.68,
              "date": "2026-09-20"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4415.7,
              "change_pct": -0.21,
              "date": "2026-09-20"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 65018.95,
              "change_pct": 1.38,
              "date": "2026-09-18"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 24750.78,
              "change_pct": 0.6,
              "date": "2026-09-18"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6236.2,
              "change_pct": -1.37,
              "date": "2026-09-18"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25304.06,
              "change_pct": -1.6,
              "date": "2026-09-18"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 721.45,
              "change_pct": 0.63,
              "date": "2026-09-18"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 573,
              "change_pct": 2.21,
              "date": "2026-09-18"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 58.21,
              "change_pct": -3.13,
              "date": "2026-09-18"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 126.93,
              "change_pct": -2.23,
              "date": "2026-09-18"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 80.14,
              "change_pct": -3,
              "date": "2026-09-18"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.01,
              "change_pct": -2.74,
              "date": "2026-09-18"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.38,
              "change_pct": -0.51,
              "date": "2026-09-18"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 35.9,
              "change_pct": 1.01,
              "date": "2026-09-18"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 334.131,
                "latest_date": "2026-08-01",
                "yoy_pct": 3.71,
                "mom_pct": 0.4
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 19
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 25
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 45
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 53
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 67
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 81
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 86
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 34,
                "label": "긍정",
                "summary": "호재: 수주, 상승, 매수 | 악재: 부진",
                "articles": [
                  "[종목 포커스] LG에너지솔루션, 북미 ESS 대규모 수주로 주가 탄력 받을까 - 데일리인베스트",
                  "NH증권 \"LG엔솔, 'ESS 수주 제한적' 오해로 주가부진…매수기회\" - 연합뉴스"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 25,
                "label": "긍정",
                "summary": "호재: 유망, 급등, 수주 | 악재: 매각",
                "articles": [
                  "“삼성SDI 지금 들어가야?”...국내 주식 유망주 더 있다 - 매일경제",
                  "9월 3주차 삼성SDI 주가 54만원대 등락 거듭 - 톱스타뉴스"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 간다, 급등, 상승",
                "articles": [
                  "[단독] 'SK하닉 470만원 간다' 외쳤던 애널…美 반도체리서치 업체 '법인장'으로 - 뉴스1",
                  "삼성전자·SK하이닉스 주가 놓고 \"오를 만큼 올랐다\" vs \"더 오른다\" 반론도 - 더구루"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 성장, 기대감 | 악재: 급락, 경고",
                "articles": [
                  "HPSP 투자분석 2026. 09. 19 - 주달",
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 12,
                "label": "중립",
                "summary": "호재: 자사주 매입, 주주환원 | 악재: 부진",
                "articles": [
                  "’자사주 2000억’ 소각에도 주가 요지부동…속타는 셀트리온 By EBN - Investing.com 한국어",
                  "[특징주] 셀트리온, 1000억 자사주 매입 후 소각 결정…주가는 약보합 - v.daum.net"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 12,
                "label": "중립",
                "summary": "호재: 주주환원, 상승, 호재 | 악재: 하락",
                "articles": [
                  "키움증권 \"KB금융, 업종 내 주주환원율 1등…목표주가 상향\" - 연합뉴스",
                  "KB금융 이재근 등판 속...실적 전망은?, 장중 주가는? - 초이스경제"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 9,
                "label": "중립",
                "summary": "호재: 상승, 급등, 반등 | 악재: 적자, 우려, 목표가 하향",
                "articles": [
                  "LG화학 투자분석 2026. 09. 19 - 주달",
                  "LG화학 주가 장중 6%대 올라, 한국정부 중국 아크릴산 부틸에 덤핑관세 부과 - 비즈니스포스트"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": 9,
                "label": "중립",
                "summary": "호재: 회복, 호재, 상승 | 악재: 부진",
                "articles": [
                  "주가 두자릿수 뛴 포스코퓨처엠…\"이차전지 바닥 끝났나\" - 연합인포맥스",
                  "키움증권, 포스코퓨처엠 투자의견·목표가↑…\"매출 회복 전망\" - 연합뉴스"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -18,
                "label": "부정",
                "summary": "호재: 상승 | 악재: 하락, 불확실, 급락",
                "articles": [
                  "[증시다트] 현대차·기아 목표가 동반 상향…실적 온도차에도 ‘로봇 프리미엄’ 커졌다 - :: 위즈경제 ::"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": -15,
                "label": "부정",
                "summary": "호재: 주주환원 | 악재: 매도, 순매도, 하락",
                "articles": [
                  "엇갈리는 삼성전자 주가전망…외국인 순매도 끝은 어디[종목현미경] - v.daum.net",
                  "삼성전자 주가, 오늘 왜 하락하나? - Investing.com 한국어"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -15,
                "label": "부정",
                "summary": "호재: 수주, 기대 | 악재: 적자, 하락, 유상증자",
                "articles": [
                  "삼성바이오, 3조 유증 택한 이유…‘노사·수주’에 주가 달렸다 - 조선비즈 - Chosunbiz",
                  "삼성바이오로직스 증자, '할인율 15%' 아쉽네...'적자 기업' 인수도 단기 부담 - 인베스트조선"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -3,
                "label": "중립",
                "summary": "호재: 성장, 매수, 순매수 | 악재: 우려, 하락, 블록딜",
                "articles": [
                  "‘삼전닉스ʼ에 가린 반도체주…주성ENG ‘질주ʼ·리노공업 ‘주춤ʼ [정답은 TSR] - 한국금융신문",
                  "[서치 e종목] 리노공업, 대규모 캐파 증설 등으로 점진적 성장 전망…주가 향방은? - 데일리인베스트"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 0,
                "label": "중립",
                "summary": "호재: 실적 개선, 기대 | 악재: 주의, 하락",
                "articles": [
                  "신한지주 (055550) - 씽크풀 AI",
                  "진옥동 신한금융회장, 취임 3년반 보수·미지급 장기성과보상 126억 달해 - 엠투데이"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": 0,
                "label": "중립",
                "summary": "호재: 계약 | 악재: 약세",
                "articles": [
                  "알테오젠, '키트루다SC' 日 허가로 글로벌 상업화 결실… 로열티 유입 본격화 - 한국의약통신",
                  "신한증권, 알테오젠 목표주가 상향…'노바티스와 4.4조 메가딜' - 연합뉴스"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": 0,
                "label": "중립",
                "summary": "호재: 확대 | 악재: 하락",
                "articles": [
                  "에코프로비엠, 증자 8861억도 상단…주가가 먼저 잘라낸 곳 - 리드경제",
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - 연합뉴스"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": 0,
                "label": "중립",
                "summary": "특별한 신호 없음",
                "articles": [
                  "주가 13% 빠진 카카오, 3000억 꺼냈다 - 시사저널e",
                  "[IT돋보기] 주주 환원 계획은, 분할 후 주가는 어떻게⋯소액주주 설득 나선 카카오 - v.daum.net"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0098,
            "tree_metrics": {
              "avg_auc": 0.7818,
              "avg_accuracy": 0.7292
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7781,
              "accuracy": 0.7148
            },
            "relative_strength": [
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 14930,
                "relative_rank_pct": 80,
                "return_5d_pct": 37.22,
                "return_20d_pct": 28.37,
                "rsi": 76,
                "position_52w_pct": 20.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1249,
                "relative_rank_pct": 64.4,
                "return_5d_pct": -11.17,
                "return_20d_pct": -12.04,
                "rsi": 29.4,
                "position_52w_pct": 11.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 10390,
                "relative_rank_pct": 56.9,
                "return_5d_pct": 8.57,
                "return_20d_pct": 19.7,
                "rsi": 62.9,
                "position_52w_pct": 17.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000150",
                "name": "두산",
                "price": 1449000,
                "relative_rank_pct": 54.7,
                "return_5d_pct": 6.86,
                "return_20d_pct": 34.42,
                "rsi": 62.5,
                "position_52w_pct": 47.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 137000,
                "relative_rank_pct": 48.9,
                "return_5d_pct": -5.39,
                "return_20d_pct": 9.78,
                "rsi": 57.7,
                "position_52w_pct": 64,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1296,
                "relative_rank_pct": 47.6,
                "return_5d_pct": -0.61,
                "return_20d_pct": -9.62,
                "rsi": 43.8,
                "position_52w_pct": 12.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "329180",
                "name": "HD현대중공업",
                "price": 462000,
                "relative_rank_pct": 43.1,
                "return_5d_pct": -3.55,
                "return_20d_pct": 1.99,
                "rsi": 53.2,
                "position_52w_pct": 14.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "price": 175700,
                "relative_rank_pct": 42.7,
                "return_5d_pct": -1.24,
                "return_20d_pct": 6.94,
                "rsi": 52.5,
                "position_52w_pct": 78.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1849000,
                "relative_rank_pct": 41.3,
                "return_5d_pct": 2.04,
                "return_20d_pct": 6.88,
                "rsi": 62.2,
                "position_52w_pct": 58.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "032830",
                "name": "삼성생명",
                "price": 283500,
                "relative_rank_pct": 41.3,
                "return_5d_pct": -7.8,
                "return_20d_pct": -13.7,
                "rsi": 37.4,
                "position_52w_pct": 37.4,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4275,
                "relative_rank_pct": 20,
                "return_5d_pct": -2.06,
                "return_20d_pct": 2.03,
                "rsi": 50.5,
                "position_52w_pct": 32.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "033780",
                "name": "KT&G",
                "price": 172800,
                "relative_rank_pct": 20,
                "return_5d_pct": 0.58,
                "return_20d_pct": 0.29,
                "rsi": 36.5,
                "position_52w_pct": 68.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "price": 180100,
                "relative_rank_pct": 20.4,
                "return_5d_pct": 1.07,
                "return_20d_pct": -6.34,
                "rsi": 30.2,
                "position_52w_pct": 26.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000270",
                "name": "기아",
                "price": 121600,
                "relative_rank_pct": 23.6,
                "return_5d_pct": -3.95,
                "return_20d_pct": -7.1,
                "rsi": 30.6,
                "position_52w_pct": 19.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "price": 197500,
                "relative_rank_pct": 23.6,
                "return_5d_pct": -4.36,
                "return_20d_pct": -11.04,
                "rsi": 28.6,
                "position_52w_pct": 13.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "017670",
                "name": "SK텔레콤",
                "price": 89100,
                "relative_rank_pct": 26.2,
                "return_5d_pct": -1.98,
                "return_20d_pct": -12.82,
                "rsi": 36.6,
                "position_52w_pct": 42.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1399000,
                "relative_rank_pct": 27.1,
                "return_5d_pct": -1.13,
                "return_20d_pct": -9.8,
                "rsi": 20.1,
                "position_52w_pct": 22.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "010130",
                "name": "고려아연",
                "price": 1132000,
                "relative_rank_pct": 28.4,
                "return_5d_pct": -3.99,
                "return_20d_pct": -8.49,
                "rsi": 15.3,
                "position_52w_pct": 19.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4465,
                "relative_rank_pct": 28.9,
                "return_5d_pct": -6.59,
                "return_20d_pct": -1.76,
                "rsi": 32.2,
                "position_52w_pct": 22.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 20950,
                "relative_rank_pct": 29.3,
                "return_5d_pct": 0.48,
                "return_20d_pct": -3.01,
                "rsi": 43.4,
                "position_52w_pct": 43.2,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 상승을 설명하는 핵심 단서는 Morning snapshot의 해외 반도체·성장주 강세와 국내 반도체 대형주의 상쇄 가능성이었습니다. SOX는 +2.78%, SMH는 +2.21%, 엔비디아는 +1.34%, AMD는 +2.70%, MU는 +3.92%였고, SK하이닉스도 직전 기준 +4.70%였습니다. 국내 전체 breadth와 당일 수급은 Morning snapshot에 없었으므로 상승의 세부 확산 경로와 투자자별 기여는 단정하지 않습니다. 장 마감 outcome은 read-only yfinance 결과로 확인했으며, Morning의 국내 약세 지표보다 반도체·위험선호 counter-signal의 실현 강도가 컸던 날로 판단합니다.",
          "data_synthesis": {
            "actual_result": "KOSPI actual direction 상승, actual return +4.21424578%, outcome observed at 2026-09-21T16:30:13.918671+09:00 via read-only yfinance pre-step.",
            "breadth_and_leaders": "Morning snapshot은 상승 13개·하락 36개와 역배열 17개를 기록했습니다. 당일 장중 breadth 및 당일 외국인·기관 수급은 제공되지 않아 실제 상승 확산의 폭과 주도주 기여는 미확인입니다. 직전 기준 SK하이닉스 +4.70%, 삼성전자 +1.56%였고, 삼성전자 기술 지표는 약세였으므로 종목별 신호가 혼재했습니다.",
            "domestic_market": "Morning reference KOSPI 6,724.34(+0.09%), KOSDAQ 821.67(+0.70%), KOSPI 20일 이격도 -1.15%, KOSDAQ 20일 이격도 +0.28%. Actual close KOSPI 7,007.72, KOSDAQ 836.27.",
            "fear_greed": "공포·탐욕 54(중립), KOSPI 20일 이격도 -1.15%, 거래량 5일/20일 0.79배로 보수적 신호였습니다. 그러나 중립 지표는 상승을 배제하지 않으며, 실제 결과는 상방으로 나타났습니다.",
            "flows_and_news": "시장 단위 수급은 2026-09-17 기준으로만 available하며 당일 수급은 없습니다. 종목별 뉴스와 당일 신규 뉴스의 인과는 확인하지 않았고, 확인되지 않은 원인은 추가하지 않습니다.",
            "macro_events": "미국 CPI 전년비 3.71%, PPI 전년비 9.85%, 실업률 4.1%이며 다음 주요 일정은 미국 9월 CPI 10월 10일, FOMC 11월 5일, 한국은행 금통위 10월 16일로 기록되어 있습니다. 당일 방향을 직접 설명하는 신규 이벤트는 확인되지 않았습니다.",
            "ml_relative_context": "ML은 50개 예측을 생성했으나 five-session maturity 전이라 evaluated_count 0, pending_count 609입니다. ML은 KOSPI 절대 방향 평가가 아니며 이번 LLM 실패의 근거로 사용하지 않습니다.",
            "morning_judgment": "Morning frozen prediction: 하락, confidence 0.68, snapshot cutoff 2026-09-21T07:31:04.993226+09:00. 이 값은 변경하지 않았습니다.",
            "overnight_cross_asset": "S&P500 +0.17%, Nasdaq +0.39%, Dow -0.18%, SOX +2.78%, SMH +2.21%, NVDA +1.34%, AMD +2.70%, MU +3.92%였습니다. 유럽 STOXX50 -1.37%, DAX -1.60%, 원/달러 +0.42%는 혼조·부담 신호였지만, 반도체 counter-signal은 실제 국내 상승과 같은 방향으로 실현되었습니다."
          },
          "failure_analysis": "절대 방향 판단에서 국내 breadth 약세와 해외 반도체·성장주 counter-signal이 충돌했을 때, 국내 약세 신호의 설명력이 과대평가되고 해외 신호의 지수 전이 가능성이 과소평가되었습니다. 특히 당일 breadth·외국인/기관 수급이 부재한 상태에서 이를 하락 확신의 보조 근거처럼 사용한 것이 문제였습니다. 수급과 breadth가 없는 경우에는 방향을 확정하는 근거가 아니라 불확실성으로 유지하고, 반도체·환율·해외 지수 신호가 국내 대형주를 통해 전체 지수로 확산될 가능성을 별도 시나리오로 평가해야 합니다.",
          "improvement": {
            "action_detail": "절대 방향 판단에서 국내 추세·breadth 약세와 해외 위험선호·반도체·환율 counter-signal이 충돌할 때 counter-signal의 국내 지수 전이 가능성을 별도 시나리오로 평가합니다. 당일 breadth·외국인/기관 수급이 없으면 이를 방향 확정 근거로 사용하지 않고 불확실성으로 표시합니다.",
            "action_type": "prompt",
            "expected_impact": "국내 약세 신호가 해외 반도체·위험선호 반등을 과도하게 압도하는 오판을 줄이고, 다음 Morning의 절대 방향 판단에서 상쇄 시나리오를 균형 있게 반영합니다."
          },
          "rationale_vs_actual": "Morning은 KOSPI 직전 종가 6,724.34, 20일 이격도 -1.15%, 분석 종목 상승 13개·하락 36개, 역배열 17개를 중심으로 하락을 판단했습니다. 이 근거들은 2026-09-18 기준 스냅샷에서는 유효했지만, SOX·SMH와 주요 반도체 종목의 강세를 하락 폭 제한 요인에 머물게 하고 최종 방향을 하락으로 고정한 점이 실패 원인입니다. 실제 종가는 7,007.72로 상승했으므로 LLM 평가는 실패입니다. KOSDAQ도 821.67에서 836.27로 상승했지만, 이는 보조 관찰값으로만 사용합니다.",
          "summary": "Morning은 KOSPI 국내 breadth 약세와 추세 부담을 근거로 하락을 전망했으나, 실제 KOSPI는 6,724.34에서 7,007.72로 상승하며 방향이 틀렸습니다. 실제 수익률은 +4.21424578%였고, 해외 반도체 강세가 국내 지수 전반으로 확산되는 상방 전개를 Morning 판단이 충분히 반영하지 못했습니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 7007.72021484375,
          "kosdaq_close": 836.27001953125,
          "direction": "상승",
          "return_pct": 4.21424578,
          "observed_at": "2026-09-21T16:30:13.918671+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 609,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-d137cccb03ab715c",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-21/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-21/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-21-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-66a398278642070a"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-21-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-21-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-18-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-18",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-043c58ca2cfae986",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-18",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "보합",
          "confidence": 0.57,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "fcf9c7116395370443fe9443f63b9b9211004177826c4e14e6647a16638b2563",
            "used": true,
            "used_fields": [
              "forecast",
              "confidence",
              "rationale",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "해외 위험선호·반도체·환율 반등을 국내 약세와 분리해 counter-signal로 평가하고, 당일 breadth·개별 수급 부재는 약세 근거가 아닌 불확실성으로 반영해 보합 판단과 확신 수준을 조정했습니다."
          },
          "snapshot_cutoff": "2026-09-18T07:31:33.759961+09:00",
          "generated_at": "2026-09-18T07:35:17.479645+09:00",
          "summary": "KOSPI는 6,724.34로 전일 대비 0.09% 상승했지만 20일선 6,802.33을 1.15% 밑돌고 외국인 KOSPI 순매도 약 2조6,321억원이 확인됩니다. 반면 S&P500·나스닥이 각각 1.14%·1.69% 상승하고 SOX가 3.14% 급등했으며, VIX는 15.44로 12.82% 하락했습니다. 국내 약세와 해외 위험선호가 충돌하고 수급·심리도 중립적이어서 KOSPI 방향은 보합으로 판단합니다.",
          "market_summary": "국내 기준 KOSPI는 6,724.34로 +0.09%, KOSDAQ은 821.67로 +0.70% 마감했습니다. KOSPI는 20일선 6,802.33 대비 -1.15%이고 20일 변동성은 2.00%, 최근 10일 중 상승일은 5일, 거래량 5일/20일 비율은 0.79배입니다. KOSDAQ 20일 이격도는 +0.28%입니다.",
          "overseas_market_and_overnight": "미국은 S&P500 +1.14%(7,637.76), 나스닥 +1.69%(26,418.30), 다우 +0.61%로 동반 상승했고 SOX는 +3.14%(11,599.49)로 강했습니다. NVDA +2.54%, AMD +6.36%, MU +5.50%, SMH +2.76%로 반도체 counter-signal이 뚜렷합니다. 니케이225 +0.69%, 항셍 +0.19%, 유로 STOXX50 +0.48%도 우호적입니다. 다만 원/달러는 1,379.94로 +1.20% 올라 원화 약세 부담이 남아 있습니다.",
          "macro": "미국 CPI는 2026-08 기준 전년비 +3.71%, 전월비 +0.40%, PPI는 전년비 +9.85%, 전월비 +0.96%, 실업률은 4.1%입니다. 10년물 금리는 4.95%로 -1.18%였고, 9월 16일 FOMC 직후라 정책 이벤트의 잔여 변동성이 있습니다. 다음 미국 CPI는 10월 10일, 다음 FOMC는 11월 5일로 기록되어 있습니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 54로 중립이며 관망 또는 선별 매수 구간입니다. KOSPI 외국인은 -26,320.88억원, 기관은 +2,497.09억원이고 KOSDAQ 외국인은 +467.07억원, 기관은 +508.49억원입니다. 시장 단위 수급은 KOSPI에 부담이지만 KOSDAQ은 완충 역할을 합니다. 뉴스는 삼성전자 부정(-15), SK하이닉스 긍정(+25), 삼성SDI 긍정(+28), LG에너지솔루션 매우긍정(+40) 등 종목별로 엇갈립니다.",
          "ml_summary": "ML은 KOSPI 절대 방향이 아닌 5일 후 KOSPI 대비 초과수익을 예측합니다. 50종목을 생성했고 LightGBM·XGBoost·LSTM이 참여했으며, 모델 시장 편향은 약세(평균 0.4%)입니다. 상대적 강세 18종목, 중립 19종목, 약세 13종목으로 상대 신호는 약세 쪽이지만 절대 방향 판단과 분리했습니다. 평가 상태는 0건 평가·50건 pending으로 아직 성과 성숙 전입니다.",
          "forecast": "KOSPI는 국내 추세·수급 약세와 해외 위험선호·반도체 강세가 맞서는 보합이 예상됩니다. SOX +3.14%와 미국 주요 지수 상승이 하방을 완충하나, KOSPI의 20일선 하회(-1.15%), 외국인 순매도, 원/달러 +1.20%가 상단 추격을 제한할 가능성이 큽니다.",
          "rationale": [
            "KOSPI는 6,724.34로 +0.09%에 그쳤고 20일선 6,802.33보다 1.15% 낮아 국내 추세는 약합니다.",
            "KOSPI 외국인 순매도는 약 2조6,321억원이고 기관 순매수는 약 2,497억원으로 수급 부담이 외국인 중심으로 나타납니다.",
            "S&P500 +1.14%, 나스닥 +1.69%, SOX +3.14%와 AMD +6.36%, MU +5.50%는 국내 반도체·대형주에 우호적인 해외 counter-signal입니다.",
            "VIX 15.44가 12.82% 하락하고 10년물 금리도 4.95%로 1.18% 하락해 글로벌 위험선호와 금리 부담 완화가 하방을 완충합니다.",
            "원/달러가 1,379.94로 1.20% 상승해 원화 약세와 외국인 수급 부담이 해외 강세의 국내 전이력을 제한합니다.",
            "공포·탐욕 지수 54, KOSPI 20일 변동성 2.00%, 최근 10일 상승일 5일로 심리는 중립이며 강한 추세 확증이 없습니다.",
            "KOSDAQ은 +0.70%, 20일 이격도 +0.28%로 상대적으로 견조하지만 KOSPI 대형주 방향을 단독으로 확정할 정도의 breadth 확증은 부족합니다.",
            "ML은 상대성과 기준 약세이고 50건 모두 pending이라 절대 방향을 약세로 단정할 성숙한 평가 evidence는 아직 없습니다."
          ],
          "observation_points": [
            "KOSPI의 20일선 6,802.33 회복 여부",
            "외국인 KOSPI 순매도 지속 여부와 기관 수급",
            "SOX·AMD·MU 등 반도체 counter-signal의 국내 전이",
            "원/달러 1,379.94의 추가 상승 여부",
            "KOSPI breadth와 거래량 5일/20일 0.79배의 개선 여부",
            "FOMC 이후 금리·위험선호 재평가"
          ],
          "uncertainties": [
            "당일 장중 breadth와 개별 종목 외국인·기관 수급은 고정 Morning snapshot에 없어 방향 근거로 사용하지 않았습니다.",
            "시장 단위 수급은 확인되지만 watchlist 종목별 수급은 provider_scope_market_only로 missing입니다.",
            "ML 평가는 50건 pending으로 5일 상대성과의 실현 결과가 아직 없습니다.",
            "해외·국내 데이터의 기준 시점이 시장별로 2026-09-16~17로 다르므로 장중 변동은 반영되지 않습니다.",
            "CPI·PPI 등 매크로 수치는 2026-08 최신값이며 2026-09-18 당일 신규 발표값은 포함되지 않습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-18/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6724.34,
              "change_pct": 0.09,
              "sma20": 6802.33,
              "disparity_20_pct": null,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "kosdaq": {
              "close": 821.67,
              "change_pct": 0.7,
              "sma20": null,
              "disparity_20_pct": 0.28,
              "sentiment": 70,
              "sentiment_signal": "낙관"
            },
            "fear_greed_score": 54,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 44,
                "value": -1.15,
                "description": "KOSPI 20일선 대비 -1.15%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 100,
                "value": 2.0,
                "description": "KOSPI 20일 변동성 2.00%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 50,
                "value": 5,
                "description": "최근 10일 중 5일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 43,
                "value": -1.15,
                "description": "20일 이격도 -1.15%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 19,
                "value": 0.79,
                "description": "거래량 5일/20일 비율 0.79x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 51,
                "value": null,
                "description": "52주高 근접 2개, 低 근접 1개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-17",
              "collected_at": "2026-09-17T22:30:58.991142+00:00",
              "hash": "19f9ed3f5f3f29abcfd6124d14b6f2e630950c098ef2bb848c32f087c6fc7c21",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-17"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -2632087782348,
                  "unit": "KRW",
                  "display_value": -26320.87782348,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 249709158339,
                  "unit": "KRW",
                  "display_value": 2497.09158339,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": 46706575369,
                  "unit": "KRW",
                  "display_value": 467.06575369,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 50848523576,
                  "unit": "KRW",
                  "display_value": 508.48523576,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-17",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-17",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 70,
                  "close": 114100,
                  "change_pct": 1.33,
                  "rsi": 58.3,
                  "macd_hist": 65.323,
                  "bb_pband": 0.78,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -2.1,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 70,
                  "close": 138500,
                  "change_pct": 0.95,
                  "rsi": 56.5,
                  "macd_hist": 2.628,
                  "bb_pband": 0.73,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -2.8,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 68,
                  "close": 40350,
                  "change_pct": -0.49,
                  "rsi": 37.6,
                  "macd_hist": -750.15,
                  "bb_pband": -0.12,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -49.1,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(-0.12)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 179700,
                  "change_pct": 1.53,
                  "rsi": 58.6,
                  "macd_hist": 679.886,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -7.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 367000,
                  "change_pct": 0.14,
                  "rsi": 53.3,
                  "macd_hist": -130.915,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -30.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 60,
                  "close": 200500,
                  "change_pct": -0.74,
                  "rsi": 40.5,
                  "macd_hist": -1722.566,
                  "bb_pband": 0.06,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -34,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.06)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 60,
                  "close": 545000,
                  "change_pct": -0.18,
                  "rsi": 54.7,
                  "macd_hist": -3838.572,
                  "bb_pband": 0.52,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -24.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 184900,
                  "change_pct": -1.96,
                  "rsi": 54.2,
                  "macd_hist": -641.895,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -38.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 60,
                  "close": 666000,
                  "change_pct": 0.3,
                  "rsi": 52.4,
                  "macd_hist": -864.951,
                  "bb_pband": 0.52,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -12,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 60,
                  "close": 36400,
                  "change_pct": 0.28,
                  "rsi": 64.7,
                  "macd_hist": 235.48,
                  "bb_pband": 0.89,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -12.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29550,
                  "change_pct": 1.03,
                  "rsi": 59.9,
                  "macd_hist": -37.136,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -5.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 144300,
                  "change_pct": -0.41,
                  "rsi": 58.8,
                  "macd_hist": -432.289,
                  "bb_pband": 0.62,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -14.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 126500,
                  "change_pct": 2.02,
                  "rsi": 54,
                  "macd_hist": -404.992,
                  "bb_pband": 0.58,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -36.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 126800,
                  "change_pct": 0.79,
                  "rsi": 52.6,
                  "macd_hist": -493.084,
                  "bb_pband": 0.54,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -15.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035250",
                  "name": "강원랜드",
                  "score": 60,
                  "close": 14650,
                  "change_pct": 0.48,
                  "rsi": 50,
                  "macd_hist": -8.045,
                  "bb_pband": 0.47,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -25.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 58,
                  "close": 1404000,
                  "change_pct": -0.07,
                  "rsi": 38.3,
                  "macd_hist": -11922.161,
                  "bb_pband": 0.2,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -29.3,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000270",
                  "name": "기아",
                  "score": 58,
                  "close": 121400,
                  "change_pct": 0.41,
                  "rsi": 37.9,
                  "macd_hist": -358.687,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -42.9,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.10)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 58,
                  "close": 254500,
                  "change_pct": -0.78,
                  "rsi": 37.4,
                  "macd_hist": -6038.026,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.3,
                  "pct_52w_high": -41.9,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(37)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 58,
                  "close": 20850,
                  "change_pct": -0.48,
                  "rsi": 36,
                  "macd_hist": -86.569,
                  "bb_pband": -0.07,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -29.3,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(36)",
                    "BB하단(-0.07)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1766000,
                  "change_pct": 0.51,
                  "rsi": 52.6,
                  "macd_hist": 10202.318,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -40.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                }
              ],
              "gainers": [
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 50,
                  "close": 152800,
                  "change_pct": 6.41,
                  "rsi": 54.9,
                  "macd_hist": -1267.326,
                  "bb_pband": 0.62,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -13.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 55,
                  "close": 58100,
                  "change_pct": 5.44,
                  "rsi": 59.4,
                  "macd_hist": 203.342,
                  "bb_pband": 0.94,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -36.3,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.94)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 48,
                  "close": 86400,
                  "change_pct": 2.73,
                  "rsi": 54.4,
                  "macd_hist": -58.527,
                  "bb_pband": 0.61,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -37.9,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 45,
                  "close": 67600,
                  "change_pct": 2.42,
                  "rsi": 50.2,
                  "macd_hist": 176.244,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -47.6,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "068270",
                  "name": "셀트리온",
                  "score": 50,
                  "close": 181300,
                  "change_pct": 2.2,
                  "rsi": 43.6,
                  "macd_hist": -1137.66,
                  "bb_pband": 0.29,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -24.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 126500,
                  "change_pct": 2.02,
                  "rsi": 54,
                  "macd_hist": -404.992,
                  "bb_pband": 0.58,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -36.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "011200",
                  "name": "HMM",
                  "score": 50,
                  "close": 20900,
                  "change_pct": 1.95,
                  "rsi": 48,
                  "macd_hist": -98.5,
                  "bb_pband": 0.33,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -16.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "036570",
                  "name": "엔씨소프트",
                  "score": 48,
                  "close": 205000,
                  "change_pct": 1.74,
                  "rsi": 35.6,
                  "macd_hist": -1121.988,
                  "bb_pband": 0.17,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -40.3,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(36)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 40,
                  "close": 357500,
                  "change_pct": 1.71,
                  "rsi": 46.6,
                  "macd_hist": -3038.711,
                  "bb_pband": 0.21,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -36.7,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 179700,
                  "change_pct": 1.53,
                  "rsi": 58.6,
                  "macd_hist": 679.886,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -7.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 184900,
                  "change_pct": -1.96,
                  "rsi": 54.2,
                  "macd_hist": -641.895,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -38.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "352820",
                  "name": "하이브",
                  "score": 46,
                  "close": 166900,
                  "change_pct": -1.94,
                  "rsi": 37.1,
                  "macd_hist": -183.437,
                  "bb_pband": -0.01,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -58.8,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "MACD데드",
                    "BB하단(-0.01)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 40,
                  "close": 1351000,
                  "change_pct": -1.53,
                  "rsi": 47.8,
                  "macd_hist": -4667.71,
                  "bb_pband": 0.34,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -44.1,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 40,
                  "close": 546000,
                  "change_pct": -1.09,
                  "rsi": 44.9,
                  "macd_hist": -2475.633,
                  "bb_pband": 0.27,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -38.2,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010130",
                  "name": "고려아연",
                  "score": 50,
                  "close": 1135000,
                  "change_pct": -0.79,
                  "rsi": 41.5,
                  "macd_hist": -20507.658,
                  "bb_pband": 0.17,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -48.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 58,
                  "close": 254500,
                  "change_pct": -0.78,
                  "rsi": 37.4,
                  "macd_hist": -6038.026,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.3,
                  "pct_52w_high": -41.9,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(37)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 40,
                  "close": 103900,
                  "change_pct": -0.76,
                  "rsi": 44.6,
                  "macd_hist": -471.351,
                  "bb_pband": 0.21,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -59.4,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 60,
                  "close": 200500,
                  "change_pct": -0.74,
                  "rsi": 40.5,
                  "macd_hist": -1722.566,
                  "bb_pband": 0.06,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -34,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.06)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 50,
                  "close": 270000,
                  "change_pct": -0.74,
                  "rsi": 48.3,
                  "macd_hist": -949.284,
                  "bb_pband": 0.39,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -38.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 40,
                  "close": 283000,
                  "change_pct": -0.7,
                  "rsi": 42.8,
                  "macd_hist": -1562.877,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -45.2,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "highs_52w": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 70,
                  "close": 114100,
                  "change_pct": 1.33,
                  "rsi": 58.3,
                  "macd_hist": 65.323,
                  "bb_pband": 0.78,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -2.1,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 70,
                  "close": 138500,
                  "change_pct": 0.95,
                  "rsi": 56.5,
                  "macd_hist": 2.628,
                  "bb_pband": 0.73,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -2.8,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                }
              ]
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7637.76,
              "change_pct": 1.14,
              "date": "2026-09-17"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26418.3,
              "change_pct": 1.69,
              "date": "2026-09-17"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 51778.04,
              "change_pct": 0.61,
              "date": "2026-09-17"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11599.49,
              "change_pct": 3.14,
              "date": "2026-09-17"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 219.34,
              "change_pct": 2.54,
              "date": "2026-09-17"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 545.09,
              "change_pct": 6.36,
              "date": "2026-09-17"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 977.5,
              "change_pct": 5.5,
              "date": "2026-09-17"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 188.71,
              "change_pct": 2.09,
              "date": "2026-09-17"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 108.8,
              "change_pct": 7.67,
              "date": "2026-09-17"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 15.44,
              "change_pct": -12.82,
              "date": "2026-09-17"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 19.96,
              "change_pct": -11.05,
              "date": "2026-09-17"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.95,
              "change_pct": -1.18,
              "date": "2026-09-17"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1379.94,
              "change_pct": 1.2,
              "date": "2026-09-17"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 155.99,
              "change_pct": 0.47,
              "date": "2026-09-17"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 100.24,
              "change_pct": -0.07,
              "date": "2026-09-17"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 104.03,
              "change_pct": -1.7,
              "date": "2026-09-17"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 101.25,
              "change_pct": -1.15,
              "date": "2026-09-17"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4380.9,
              "change_pct": -0.15,
              "date": "2026-09-17"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 63923,
              "change_pct": 0.69,
              "date": "2026-09-16"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 24713.78,
              "change_pct": 0.19,
              "date": "2026-09-16"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6266.5,
              "change_pct": 0.48,
              "date": "2026-09-16"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25537.75,
              "change_pct": 0.53,
              "date": "2026-09-16"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 716.92,
              "change_pct": 1.73,
              "date": "2026-09-17"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 560.61,
              "change_pct": 2.76,
              "date": "2026-09-17"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 60.09,
              "change_pct": 1.52,
              "date": "2026-09-17"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 129.82,
              "change_pct": 1.42,
              "date": "2026-09-17"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 82.62,
              "change_pct": 1.31,
              "date": "2026-09-17"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.32,
              "change_pct": 0.89,
              "date": "2026-09-17"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.48,
              "change_pct": 0.15,
              "date": "2026-09-17"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 35.54,
              "change_pct": 0.54,
              "date": "2026-09-17"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 334.131,
                "latest_date": "2026-08-01",
                "yoy_pct": 3.71,
                "mom_pct": 0.4
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 22
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 28
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 48
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 56
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 70
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 84
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 89
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 40,
                "label": "매우긍정",
                "summary": "호재: 수주, 상승, 매수 | 악재: 부진",
                "articles": [
                  "[종목 포커스] LG에너지솔루션, 북미 ESS 대규모 수주로 주가 탄력 받을까 - 데일리인베스트",
                  "NH증권 \"LG엔솔, 'ESS 수주 제한적' 오해로 주가부진…매수기회\" - 연합뉴스"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 28,
                "label": "긍정",
                "summary": "호재: 강세, 기대, 수주",
                "articles": [
                  "[특징주] 삼성SDI, '中배터리 견제' 기대 이어지자 장초반 강세 - 연합뉴스",
                  "[클릭 e종목]\"수주 경쟁력 강화…삼성SDI 목표주가 60만→73만원\" - 아시아경제"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 25,
                "label": "긍정",
                "summary": "호재: 회복, 상승, 급등 | 악재: 하락, 경고",
                "articles": [
                  "하이닉스 하락 맞춘 증권사…이번엔 삼성전자 목표가 내렸다 - 매일경제",
                  "\"떨어지면 오르기라도 하지\"…속타는 삼전닉스 개미들 [분석+] - 한국경제"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 자사주 매입, 주주환원, 성장 | 악재: 부진",
                "articles": [
                  "셀트리온, 962억원 규모 자기주식 소각 결의 - 연합인포맥스",
                  "[특징주] 셀트리온, 1000억 자사주 매입 후 소각 결정…주가는 약보합 - v.daum.net"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 급락, 경고",
                "articles": [
                  "HPSP 403870 경쟁사·관련 기업 | 리틀빗 - 데일리바이트(DAILY BYTE)"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 매수, 상승, 주주환원 | 악재: 급락",
                "articles": [
                  "NH투자증권 주가 급락에…농협금융, 1천500억 장내매수 - KB Think",
                  "KB금융 이재근 등판 속...실적 전망은?, 장중 주가는? - 초이스경제"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": 12,
                "label": "중립",
                "summary": "호재: 매수, 상승, 급등 | 악재: 리콜, 하락",
                "articles": [
                  "레즈메드 ① RBC 러브콜에 주가 '쑥'…경쟁사는 리콜 몸살 - 네이버 프리미엄콘텐츠",
                  "“NAVER, 디지털자산 규제화 지연에 주가 휘청…지금이 매수 기회” - 매일경제"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 6,
                "label": "중립",
                "summary": "호재: 상승, 급등, 돌파 | 악재: 하락, 악재, 적자",
                "articles": [
                  "LG화학 주가 장중 6%대 올라, 한국정부 중국 아크릴산 부틸에 덤핑관세 부과 - 비즈니스포스트",
                  "LG화학 주가, 주주행동에↑·회사발표에↓…팰리서 \"시장 반응 분명\" - 연합인포맥스"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -25,
                "label": "부정",
                "summary": "호재: 성장, 반등 | 악재: 조정, 약세, 하락",
                "articles": [
                  "[서치 e종목] 리노공업, 대규모 캐파 증설 등으로 점진적 성장 전망…주가 향방은? - 데일리인베스트",
                  "리노공업, 주가 조정 끝내고 반등 준비...AI 반도체가 다시 모멘텀 - 증권일보"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": -15,
                "label": "부정",
                "summary": "악재: 하락",
                "articles": [
                  "하이닉스 하락 맞춘 증권사…이번엔 삼성전자 목표가 내렸다 - 매일경제",
                  "주가는 흔들려도 주문은 탄탄…AI 속도조절론에도 삼성·SK HBM '품귀' - 데일리안"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -15,
                "label": "부정",
                "summary": "호재: 수주 | 악재: 하락, 적자, 유상증자",
                "articles": [
                  "“돌아온 건 급여 삭감뿐”…삼성바이오로직스 강경 노조에 내부 불만 확산 - 쿠키뉴스",
                  "삼성바이오로직스 증자, '할인율 15%' 아쉽네...'적자 기업' 인수도 단기 부담 - 인베스트조선"
                ]
              },
              {
                "ticker": "000270",
                "name": "기아",
                "score": -12,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락, 불확실, 약세",
                "articles": [
                  "[증시다트] 현대차·기아 목표가 동반 상향…실적 온도차에도 ‘로봇 프리미엄’ 커졌다 - :: 위즈경제 ::"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -3,
                "label": "중립",
                "summary": "호재: 성장 | 악재: 급락, 부진",
                "articles": [
                  "주가 13% 빠진 카카오, 3000억 꺼냈다 - 시사저널e",
                  "카카오 “쪼개면 커진다”지만… 인적분할 기업, 태반이 역성장 - IT조선"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": -3,
                "label": "중립",
                "summary": "호재: 실적 개선, 기대 | 악재: 하락, 주의",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - 매일경제 마켓",
                  "[모닝 리포트] 신한지주, 실적 개선세 뚜렷…DB증권 \"목표주가 13만7000원 상향\" - 뉴스핌"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -3,
                "label": "중립",
                "summary": "악재: 하락",
                "articles": [
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - 연합뉴스",
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": -3,
                "label": "중립",
                "summary": "호재: 간다 | 악재: 하락",
                "articles": [
                  "신한증권, 알테오젠 목표주가 상향…'노바티스와 4.4조 메가딜' - 연합뉴스",
                  "알테오젠 SC제형기술, 기술수출 넘어 실적 연결 주목 - 메디칼업저버"
                ]
              }
            ],
            "neutral": []
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0044,
            "tree_metrics": {
              "avg_auc": 0.7795,
              "avg_accuracy": 0.726
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.783,
              "accuracy": 0.7117
            },
            "relative_strength": [
              {
                "ticker": "034730",
                "name": "SK",
                "price": 546000,
                "relative_rank_pct": 80,
                "return_5d_pct": -10.78,
                "return_20d_pct": -3.87,
                "rsi": 50.6,
                "position_52w_pct": 50.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 139100,
                "relative_rank_pct": 74.4,
                "return_5d_pct": -9.14,
                "return_20d_pct": 10.48,
                "rsi": 63.6,
                "position_52w_pct": 66.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 10330,
                "relative_rank_pct": 73,
                "return_5d_pct": 2.48,
                "return_20d_pct": 12.77,
                "rsi": 62,
                "position_52w_pct": 17.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "price": 545000,
                "relative_rank_pct": 73,
                "return_5d_pct": -2.85,
                "return_20d_pct": 9.11,
                "rsi": 43,
                "position_52w_pct": 66.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1766000,
                "relative_rank_pct": 70.2,
                "return_5d_pct": -4.7,
                "return_20d_pct": 4.44,
                "rsi": 58.7,
                "position_52w_pct": 55,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 13850,
                "relative_rank_pct": 70.2,
                "return_5d_pct": 25.23,
                "return_20d_pct": 10.1,
                "rsi": 69.1,
                "position_52w_pct": 16.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "009150",
                "name": "삼성전기",
                "price": 1351000,
                "relative_rank_pct": 68.8,
                "return_5d_pct": -3.5,
                "return_20d_pct": -3.22,
                "rsi": 43.3,
                "position_52w_pct": 52.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "316140",
                "name": "우리금융지주",
                "price": 36400,
                "relative_rank_pct": 68.8,
                "return_5d_pct": 7.06,
                "return_20d_pct": 15.37,
                "rsi": 65.4,
                "position_52w_pct": 71.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000150",
                "name": "두산",
                "price": 1413000,
                "relative_rank_pct": 68.8,
                "return_5d_pct": 6.88,
                "return_20d_pct": 19.95,
                "rsi": 61.9,
                "position_52w_pct": 45.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "267250",
                "name": "HD현대",
                "price": 224000,
                "relative_rank_pct": 68.8,
                "return_5d_pct": -8.76,
                "return_20d_pct": 1.13,
                "rsi": 52.9,
                "position_52w_pct": 44.3,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "068270",
                "name": "셀트리온",
                "price": 181300,
                "relative_rank_pct": 20,
                "return_5d_pct": 0.28,
                "return_20d_pct": -6.59,
                "rsi": 29.4,
                "position_52w_pct": 28.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "033780",
                "name": "KT&G",
                "price": 173700,
                "relative_rank_pct": 24.2,
                "return_5d_pct": 2.72,
                "return_20d_pct": 1.05,
                "rsi": 43.7,
                "position_52w_pct": 70.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4625,
                "relative_rank_pct": 28.4,
                "return_5d_pct": -3.95,
                "return_20d_pct": 1.09,
                "rsi": 39.3,
                "position_52w_pct": 25.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4320,
                "relative_rank_pct": 28.4,
                "return_5d_pct": -1.59,
                "return_20d_pct": 2.73,
                "rsi": 56.2,
                "position_52w_pct": 34.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 20900,
                "relative_rank_pct": 32.6,
                "return_5d_pct": 0.24,
                "return_20d_pct": -1.42,
                "rsi": 40,
                "position_52w_pct": 42.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1404000,
                "relative_rank_pct": 35.4,
                "return_5d_pct": -1.34,
                "return_20d_pct": -10.8,
                "rsi": 31.9,
                "position_52w_pct": 23.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "price": 364500,
                "relative_rank_pct": 36.7,
                "return_5d_pct": -6.3,
                "return_20d_pct": -12.69,
                "rsi": 30.3,
                "position_52w_pct": 26.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000270",
                "name": "기아",
                "price": 121400,
                "relative_rank_pct": 36.7,
                "return_5d_pct": -4.41,
                "return_20d_pct": -7.4,
                "rsi": 37.8,
                "position_52w_pct": 19,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "price": 200500,
                "relative_rank_pct": 36.7,
                "return_5d_pct": -3.61,
                "return_20d_pct": -8.66,
                "rsi": 28.3,
                "position_52w_pct": 15.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "price": 367000,
                "relative_rank_pct": 38.1,
                "return_5d_pct": 0.55,
                "return_20d_pct": 2.51,
                "rsi": 48.9,
                "position_52w_pct": 32.3,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 상승은 Morning 스냅샷에서 확인된 해외 위험선호와 반도체 counter-signal이 국내 약세 요인을 압도한 결과로 해석됩니다. S&P500·나스닥의 동반 상승, SOX +3.14%, AMD +6.36%, MU +5.50%, NVDA +2.54%, SMH +2.76%가 국내 대형 기술주와 성장주에 강한 상방 환경을 제공했습니다. VIX 15.44의 하락과 미국 10년물 금리 4.95%의 하락도 위험자산 선호를 보강했습니다. 원/달러 +1.20%와 Morning 시점 외국인 순매도는 부담이었지만, 당일 장중 breadth와 종목별 수급은 고정 Morning snapshot에 없어 상승 확산 경로는 확정할 수 없습니다.",
          "data_synthesis": "Morning snapshot은 KOSPI 6,724.34(+0.09%), KOSDAQ 821.67(+0.70%), KOSPI 20일선 6,802.33, 20일 변동성 2.00%, 최근 10일 상승일 5일, 거래량 5일/20일 0.79배를 기록했습니다. 시장 단위 수급은 KOSPI 외국인 -26,320.88억원·기관 +2,497.09억원으로 약세였고 KOSDAQ은 외국인 +467.07억원·기관 +508.49억원으로 완충 신호가 있었습니다. 공포·탐욕 지수 54는 중립이었습니다. 해외는 S&P500 +1.14%, 나스닥 +1.69%, SOX +3.14%, VIX 15.44로 위험선호가 뚜렷했고, 원/달러는 1,379.94로 +1.20%였습니다. 실제 장 마감은 KOSPI 6,894.23, KOSDAQ 827.12, 기준 대비 KOSPI +2.52649302% 상승입니다. ML은 LightGBM·XGBoost·LSTM 3개 모델로 50건을 생성했으나 Fresh 평가 0건, 글로벌 Fresh pending 559건으로 성과는 미성숙합니다.",
          "failure_analysis": "LLM 절대 방향 판단은 보합으로 실제 상승을 맞히지 못했으며, 실제 수익률도 2.52649302%로 방향뿐 아니라 강도까지 빗나갔습니다. 국내 추세 약세와 외국인 순매도를 유효한 제약으로 본 것은 타당했지만, SOX·AMD·MU 등 반도체 counter-signal과 미국 주요 지수의 동반 상승을 상방 시나리오의 독립적인 주도 조건으로 충분히 높이지 못했습니다. 다음에는 해외 broad risk-on과 반도체 리더 강세가 동시에 나타날 때 이를 단순한 하방 완충이 아니라 국내 대형주 전이를 확인해야 하는 주된 조건부 시나리오로 분리합니다. 장중 breadth와 종목별 수급이 없으면 그 부재를 명시하고, 이를 국내 약세의 추가 근거로 사용하지 않습니다. ML은 5회 관측 세션이 성숙하지 않아 0건 평가·559건 pending이며 이번 절대 방향 실패의 근거나 개선 근거로 사용하지 않습니다.",
          "improvement": {
            "next_observation": "해외 broad risk-on과 반도체 리더 강세가 국내 대형주·breadth·장중 수급으로 실제 전이되는지, 그리고 원/달러 상승이 그 전이를 제한하는지를 다음 Morning snapshot에서 확인합니다.",
            "proposal": null,
            "reason": "평가된 ML 실패는 없고, 이번 LLM 방향 실패에 대해서는 helper가 failure_analysis를 근거로 기존 prompt lifecycle의 bounded proposal을 생성하도록 둡니다. 모델·feature 변경은 요청하지 않습니다.",
            "status": "none"
          },
          "rationale_vs_actual": "Morning은 KOSPI가 20일선 6,802.33을 1.15% 밑돌고 외국인 순매도 약 2조6,321억원이 나타난 점, 원/달러 상승과 거래량 부진을 근거로 상단 추격을 제한했습니다. 반면 해외 반도체 강세를 하방 완충용 counter-signal로만 평가했고, 국내 추세·수급 약세를 최종 방향에 더 크게 반영했습니다. 실제 결과는 해외 위험선호가 단순한 완충을 넘어 국내 대형주·반도체에 강하게 전이된 상승이었습니다. 따라서 핵심 오차는 해외·반도체 신호의 전이 강도와 국내 시장의 반응 비대칭을 과소평가한 데 있습니다. 다만 Morning snapshot 이후의 장중 breadth와 개별 수급을 확인할 수 없으므로 특정 업종 또는 투자자 집단을 상승의 단일 원인으로 단정하지 않습니다.",
          "summary": "Morning은 국내 추세 약세와 해외 위험선호가 충돌하는 보합을 예상했으나, 실제 KOSPI는 6,894.23으로 기준 6,724.34 대비 169.89포인트, 2.52649302% 상승했습니다. 방향과 변동폭 모두 Morning 전망을 상회한 상승이었으며, KOSDAQ도 827.12로 마감했습니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6894.22998046875,
          "kosdaq_close": 827.1199951171875,
          "direction": "상승",
          "return_pct": 2.52649302,
          "observed_at": "2026-09-18T16:30:51.211652+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 559,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-bbe93ee4a289c7bd",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-18/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-18/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-18-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-043c58ca2cfae986"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-18-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-18-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-17-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-17",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-ec2768a31799e6c8",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-17",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "보합",
          "confidence": 0.56,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "42e5472909985207a60f434dbb99f78cf183bd4ab3b1ecdacf239c144544783d",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "rationale",
              "key_variables",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "국내 약세 추세와 해외 broad market 약세를 지수 전체 하락으로 확장하지 않고, SOX·반도체 리더 반등을 조건부 counter-signal로 별도 반영했으며 장중 breadth·종목별 수급 부재는 불확실성으로 유지했습니다."
          },
          "snapshot_cutoff": "2026-09-17T07:31:45.015441+09:00",
          "generated_at": "2026-09-17T07:35:11.440801+09:00",
          "summary": "KOSPI는 전일 6,717.97로 1.37% 상승했지만 20일선 대비 -1.33%이고, 미국 broad market 약세와 원화 약세가 부담입니다. 반면 SOX 0.63%, NVDA 0.82%, AMD 1.65% 상승이 하방을 일부 완충합니다. 금융주의 기술적 강세와 일부 배터리·반도체 뉴스는 지지 요인이지만, 외국인 순매도와 장중 breadth·종목별 수급 부재를 감안하면 방향성은 보합으로 판단합니다.",
          "market_summary": "전일 국내 시장은 KOSPI 6,717.97(+1.37%), KOSDAQ 815.98(+0.44%)로 반등했습니다. 그러나 KOSPI의 20일 이격도는 -1.33%, Fear & Greed는 55점 중립, 20일 변동성은 2.41%로 반등의 지속성은 아직 확인되지 않았습니다. watchlist 종목은 금융주 일부가 정배열인 반면 삼성전자·자동차·인터넷·조선 등에는 역배열 또는 하단 이탈 신호가 혼재합니다.",
          "overseas_market_and_overnight": "9월 16일 미국은 S&P500 -0.45%, 다우 -1.21%, 나스닥 -0.01%로 broad market이 약세였지만 SOX는 +0.63%였습니다. NVDA +0.82%, AMD +1.65%, SMH +0.64%는 국내 대형 기술주 하방을 완충할 counter-signal입니다. 다만 MU -0.11%, QCOM -1.58%로 반도체 내부도 일관되지는 않았고, 항셍 -1.00%, 유로 STOXX50 -0.38% 등 아시아·유럽 흐름은 부담입니다.",
          "macro": "CPI는 2026년 8월 기준 전년비 +3.71%, 전월비 +0.40%, PPI는 전년비 +9.85%, 전월비 +0.96%, 실업률은 4.1%입니다. 10년물 금리는 5.01%(+0.20%)로 높은 수준이고 달러/원은 1,376.64원(+2.31%), DXY는 100.34(+0.69%)로 원화와 위험자산에 부담입니다. 9월 16일 FOMC는 이미 경과했으며, 다음 미국 CPI는 10월 10일로 기록되어 있어 금일 즉시 이벤트 공백이 있습니다.",
          "sentiment_and_supply": "Fear & Greed 55점은 중립이며 최근 10일 중 상승일은 5일, 거래량 5일/20일 비율은 0.96배, 52주 고점 근접 종목은 0개·저점 근접 종목은 1개입니다. 전일 KOSPI 수급은 외국인 -16,846.08억원, 기관합계 +12,371.40억원이고 KOSDAQ은 외국인 -272.15억원, 기관합계 +222.14억원입니다. 시장 단위 수급은 확인되지만 watchlist 종목별 수급과 장중 breadth는 보존된 스냅샷에 없어 지수 방향의 확정 근거로 사용하지 않습니다. 뉴스 심리는 삼성전자 -6, 현대차 -6, 기아 -28, 삼성바이오로직스 -21, 리노공업 -25 등 부정·중립이 섞였고, 삼성SDI +28·LG에너지솔루션 +34 등 긍정 신호도 공존합니다.",
          "ml_summary": "ML은 LightGBM·XGBoost·LSTM 3개 모델로 73개 feature를 사용해 50개 종목 예측을 생성했습니다. 모델 검증 지표는 LightGBM 평균 AUC 약 0.779, LSTM AUC 0.7719·정확도 0.7032로 기록되어 있으나, 예측 대상은 5거래일 상대 초과성과이고 KOSPI 절대 방향과는 별개입니다. 현재 evaluated 0건, pending 50건이므로 ML의 상대성과를 오늘 KOSPI 방향의 근거 또는 실패로 해석하지 않습니다.",
          "forecast": "금일 KOSPI는 보합을 기본 시나리오로 전망합니다. 국내 지수의 전일 반등과 기관 순매수, SOX·NVDA·AMD 반등이 상승을 지지하지만, S&P500·다우 약세, 원화 약세, 높은 금리, 외국인 순매도와 혼재된 기술적 신호가 상승 폭을 제한할 가능성이 큽니다. 반도체 강세가 삼성전자·SK하이닉스 등 대형주로 확산되면 상승 시나리오가 우세해지고, 원화 약세와 broad market 약세가 재개되면 하락 시나리오가 열립니다.",
          "rationale": [
            "전일 KOSPI는 6,717.97로 1.37% 상승했지만 20일선 6,808.74보다 1.33% 낮아 추세 회복이 아직 확인되지 않았습니다.",
            "KOSDAQ도 815.98로 0.44% 상승했으나 20일 이격도는 -0.53%로 국내 반등이 전면적인 추세 전환이라고 보기 어렵습니다.",
            "S&P500 -0.45%, 다우 -1.21%의 broad market 약세는 부담이지만 SOX +0.63%, NVDA +0.82%, AMD +1.65%는 국내 기술주를 지지하는 반대 신호입니다.",
            "달러/원 1,376.64원(+2.31%), DXY 100.34(+0.69%), 10년물 5.01%는 외국인 위험선호와 국내 지수의 추가 상승을 제한하는 매크로 조건입니다.",
            "KOSPI 외국인은 -16,846.08억원 순매도였고 기관은 +12,371.40억원 순매수였으므로 수급 방향이 엇갈려 단일 방향 신호로 확정하기 어렵습니다.",
            "Fear & Greed 55점, 최근 10일 상승 5일, 거래량 비율 0.96배는 과열보다는 중립·관망에 가까운 심리를 보여 급등 지속보다 등락 혼조 가능성을 높입니다.",
            "금융주 신한지주·KB금융은 정배열과 52주 고점 근접 신호를 보였지만 삼성전자·자동차·인터넷 등 대형주에는 역배열, RSI 저점, 볼린저밴드 하단 신호가 함께 나타나 종목 간 확산이 불완전합니다."
          ],
          "observation_points": [
            "삼성전자·SK하이닉스가 SOX +0.63%와 NVDA·AMD 반등을 실제 국내 지수 상승으로 연결하는지 확인합니다.",
            "원/달러 1,376.64원의 추가 상승 여부와 외국인 순매도 지속 여부를 확인합니다.",
            "KOSPI가 20일선 6,808.74를 회복하는지, 거래량 5일/20일 비율 0.96배가 개선되는지 확인합니다.",
            "금융주 강세가 자동차·인터넷·바이오 등 약세 그룹으로 확산되는지 확인합니다.",
            "장중 breadth와 종목별 외국인·기관 수급이 확보될 경우 보합 판단의 확신을 재평가합니다."
          ],
          "uncertainties": [
            "스냅샷에는 장중 breadth와 종목별 외국인·기관 실시간 수급이 없어 상승·하락의 시장 확산 정도를 확인할 수 없습니다.",
            "시장 단위 수급은 2026-09-16 기준이며 금일 장중 수급이 아니므로 개장 이후 방향 전환을 설명하는 데 한계가 있습니다.",
            "아시아 일부 지수는 2026-09-15 기준으로 미국 자료보다 하루 이른 시점이어서 동시성에 차이가 있습니다.",
            "ML 50건은 5회 관측 세션 전으로 모두 pending이며, KOSPI 절대 방향에 대한 성과 평가 자료가 아닙니다.",
            "뉴스 감성은 키워드 기반 집계로 기사 품질·중복·실제 가격 영향의 인과를 확정하지 않습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-17/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6717.97,
              "change_pct": 1.37,
              "sma20": 6808.74,
              "disparity_20_pct": null,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "kosdaq": {
              "close": 815.98,
              "change_pct": 0.44,
              "sma20": null,
              "disparity_20_pct": -0.53,
              "sentiment": 60,
              "sentiment_signal": "낙관"
            },
            "fear_greed_score": 55,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 43,
                "value": -1.33,
                "description": "KOSPI 20일선 대비 -1.33%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 100,
                "value": 2.41,
                "description": "KOSPI 20일 변동성 2.41%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 50,
                "value": 5,
                "description": "최근 10일 중 5일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 42,
                "value": -1.33,
                "description": "20일 이격도 -1.33%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 31,
                "value": 0.96,
                "description": "거래량 5일/20일 비율 0.96x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 49,
                "value": null,
                "description": "52주高 근접 0개, 低 근접 1개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-16",
              "collected_at": "2026-09-16T22:31:10.519004+00:00",
              "hash": "165e463ef8efb0f7d2b511067b86b885e0eb3bbdc63876d88a1b0fd47dcda440",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-16"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-16"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-16"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-16"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -1684607655738,
                  "unit": "KRW",
                  "display_value": -16846.07655738,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-16",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 1237139898695,
                  "unit": "KRW",
                  "display_value": 12371.39898695,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-16",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -27215029028,
                  "unit": "KRW",
                  "display_value": -272.15029028,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-16",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 22214192909,
                  "unit": "KRW",
                  "display_value": 222.14192909,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-16",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-16",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 73,
                  "close": 40550,
                  "change_pct": -11.46,
                  "rsi": 38,
                  "macd_hist": -505.502,
                  "bb_pband": -0.26,
                  "vol_ratio": 2.2,
                  "pct_52w_high": -48.8,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(-0.26)",
                    "거래량x2.2"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "068270",
                  "name": "셀트리온",
                  "score": 68,
                  "close": 177400,
                  "change_pct": -0.34,
                  "rsi": 35.3,
                  "macd_hist": -1570.234,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -25.8,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(35)",
                    "BB하단(0.10)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 68,
                  "close": 256500,
                  "change_pct": -1.91,
                  "rsi": 38,
                  "macd_hist": -6356.525,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -41.4,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.10)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 177000,
                  "change_pct": 0.34,
                  "rsi": 55.8,
                  "macd_hist": 642.69,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 112600,
                  "change_pct": 0.63,
                  "rsi": 56,
                  "macd_hist": 39.207,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -3.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 137200,
                  "change_pct": -0.22,
                  "rsi": 54.7,
                  "macd_hist": 8.628,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -3.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 65,
                  "close": 84100,
                  "change_pct": -3.11,
                  "rsi": 51.6,
                  "macd_hist": 49.884,
                  "bb_pband": 0.53,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -39.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 55100,
                  "change_pct": 0,
                  "rsi": 51.5,
                  "macd_hist": 87.74,
                  "bb_pband": 0.59,
                  "vol_ratio": 0.3,
                  "pct_52w_high": -39.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 366500,
                  "change_pct": 0.83,
                  "rsi": 53.2,
                  "macd_hist": -421.761,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -30.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 60,
                  "close": 202000,
                  "change_pct": -1.7,
                  "rsi": 41.6,
                  "macd_hist": -1673.039,
                  "bb_pband": 0.05,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -33.6,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.05)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 60,
                  "close": 546000,
                  "change_pct": -0.91,
                  "rsi": 55,
                  "macd_hist": -3556.94,
                  "bb_pband": 0.55,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -24.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 188600,
                  "change_pct": -0.58,
                  "rsi": 56.6,
                  "macd_hist": -355.786,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -37,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 60,
                  "close": 664000,
                  "change_pct": 0.45,
                  "rsi": 51.9,
                  "macd_hist": -875.97,
                  "bb_pband": 0.52,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -12.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 216500,
                  "change_pct": -2.48,
                  "rsi": 44.3,
                  "macd_hist": -2918.051,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -44.3,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.08)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 125800,
                  "change_pct": -0.87,
                  "rsi": 51.2,
                  "macd_hist": -366.113,
                  "bb_pband": 0.52,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -16,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 58,
                  "close": 1405000,
                  "change_pct": -0.28,
                  "rsi": 38.5,
                  "macd_hist": -13683.469,
                  "bb_pband": 0.18,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -29.3,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "005380",
                  "name": "현대차",
                  "score": 58,
                  "close": 362500,
                  "change_pct": -1.89,
                  "rsi": 34.6,
                  "macd_hist": -1668.052,
                  "bb_pband": 0.04,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -53.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(35)",
                    "BB하단(0.04)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000270",
                  "name": "기아",
                  "score": 58,
                  "close": 120900,
                  "change_pct": -1.14,
                  "rsi": 36.9,
                  "macd_hist": -346.883,
                  "bb_pband": 0.01,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -43.1,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "BB하단(0.01)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "036570",
                  "name": "엔씨소프트",
                  "score": 58,
                  "close": 201500,
                  "change_pct": -0.98,
                  "rsi": 30.8,
                  "macd_hist": -1496.582,
                  "bb_pband": 0.03,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -41.3,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(31)",
                    "BB하단(0.03)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 58,
                  "close": 20950,
                  "change_pct": -1.41,
                  "rsi": 37.3,
                  "macd_hist": -67.556,
                  "bb_pband": -0.06,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -29,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "BB하단(-0.06)",
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 40,
                  "close": 1372000,
                  "change_pct": 3.16,
                  "rsi": 49.4,
                  "macd_hist": -4204.497,
                  "bb_pband": 0.45,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -43.2,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1757000,
                  "change_pct": 2.63,
                  "rsi": 52.1,
                  "macd_hist": 11477.28,
                  "bb_pband": 0.64,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -41.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 40,
                  "close": 253500,
                  "change_pct": 1.2,
                  "rsi": 47.1,
                  "macd_hist": -894.98,
                  "bb_pband": 0.28,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -32.3,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 55,
                  "close": 53600,
                  "change_pct": 1.13,
                  "rsi": 60.6,
                  "macd_hist": -78.541,
                  "bb_pband": 0.73,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -41.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 45,
                  "close": 66000,
                  "change_pct": 1.07,
                  "rsi": 46.3,
                  "macd_hist": 83.381,
                  "bb_pband": 0.41,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -48.8,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 366500,
                  "change_pct": 0.83,
                  "rsi": 53.2,
                  "macd_hist": -421.761,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -30.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "033780",
                  "name": "KT&G",
                  "score": 40,
                  "close": 171700,
                  "change_pct": 0.76,
                  "rsi": 45.6,
                  "macd_hist": -45.256,
                  "bb_pband": 0.39,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -10.8,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 50,
                  "close": 351500,
                  "change_pct": 0.72,
                  "rsi": 44.2,
                  "macd_hist": -3309.048,
                  "bb_pband": 0.06,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -37.8,
                  "alignment": "역배열",
                  "reasons": [
                    "BB하단(0.06)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "010130",
                  "name": "고려아연",
                  "score": 50,
                  "close": 1144000,
                  "change_pct": 0.7,
                  "rsi": 42.4,
                  "macd_hist": -21189.229,
                  "bb_pband": 0.16,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -47.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 112600,
                  "change_pct": 0.63,
                  "rsi": 56,
                  "macd_hist": 39.207,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -3.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 73,
                  "close": 40550,
                  "change_pct": -11.46,
                  "rsi": 38,
                  "macd_hist": -505.502,
                  "bb_pband": -0.26,
                  "vol_ratio": 2.2,
                  "pct_52w_high": -48.8,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(-0.26)",
                    "거래량x2.2"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 48,
                  "close": 124000,
                  "change_pct": -3.73,
                  "rsi": 52.1,
                  "macd_hist": -201.855,
                  "bb_pband": 0.52,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -37.5,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 55,
                  "close": 383500,
                  "change_pct": -3.64,
                  "rsi": 28.1,
                  "macd_hist": -4023.377,
                  "bb_pband": 0.11,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -53.3,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI과매도(28)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 65,
                  "close": 84100,
                  "change_pct": -3.11,
                  "rsi": 51.6,
                  "macd_hist": 49.884,
                  "bb_pband": 0.53,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -39.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035720",
                  "name": "카카오",
                  "score": 53,
                  "close": 33650,
                  "change_pct": -3.03,
                  "rsi": 35.7,
                  "macd_hist": -205.485,
                  "bb_pband": 0.01,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -51.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(36)",
                    "BB하단(0.01)",
                    "52w低근접",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "259960",
                  "name": "크래프톤",
                  "score": 53,
                  "close": 204000,
                  "change_pct": -2.63,
                  "rsi": 34.4,
                  "macd_hist": -928.92,
                  "bb_pband": 0.01,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -36.6,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(34)",
                    "BB하단(0.01)",
                    "52w低근접",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 50,
                  "close": 143600,
                  "change_pct": -2.51,
                  "rsi": 47.2,
                  "macd_hist": -1596.1,
                  "bb_pband": 0.33,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -18.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 216500,
                  "change_pct": -2.48,
                  "rsi": 44.3,
                  "macd_hist": -2918.051,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -44.3,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.08)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 40,
                  "close": 104700,
                  "change_pct": -2.15,
                  "rsi": 45.2,
                  "macd_hist": -307.454,
                  "bb_pband": 0.22,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -59.1,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "352820",
                  "name": "하이브",
                  "score": 45,
                  "close": 170200,
                  "change_pct": -1.96,
                  "rsi": 40.1,
                  "macd_hist": 154.138,
                  "bb_pband": 0.13,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -58,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7551.81,
              "change_pct": -0.45,
              "date": "2026-09-16"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 25978.42,
              "change_pct": -0.01,
              "date": "2026-09-16"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 51461.9,
              "change_pct": -1.21,
              "date": "2026-09-16"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11246.11,
              "change_pct": 0.63,
              "date": "2026-09-16"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 213.9,
              "change_pct": 0.82,
              "date": "2026-09-16"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 512.5,
              "change_pct": 1.65,
              "date": "2026-09-16"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 926.55,
              "change_pct": -0.11,
              "date": "2026-09-16"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 184.84,
              "change_pct": -1.58,
              "date": "2026-09-16"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 101.05,
              "change_pct": 4.03,
              "date": "2026-09-16"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 17.71,
              "change_pct": 2.97,
              "date": "2026-09-16"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 22.44,
              "change_pct": 0.81,
              "date": "2026-09-16"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 5.01,
              "change_pct": 0.2,
              "date": "2026-09-16"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1376.64,
              "change_pct": 2.31,
              "date": "2026-09-16"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 156.23,
              "change_pct": 1.2,
              "date": "2026-09-16"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 100.34,
              "change_pct": 0.69,
              "date": "2026-09-16"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 105.58,
              "change_pct": -2.91,
              "date": "2026-09-16"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 101.95,
              "change_pct": -3.67,
              "date": "2026-09-16"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4298,
              "change_pct": -0.8,
              "date": "2026-09-16"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 63484.1,
              "change_pct": -0.01,
              "date": "2026-09-15"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 24667.24,
              "change_pct": -1,
              "date": "2026-09-15"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6236.5,
              "change_pct": -0.38,
              "date": "2026-09-15"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25402.28,
              "change_pct": -0.15,
              "date": "2026-09-15"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 704.72,
              "change_pct": 0.03,
              "date": "2026-09-16"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 545.56,
              "change_pct": 0.64,
              "date": "2026-09-16"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 59.19,
              "change_pct": -3.13,
              "date": "2026-09-16"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 128,
              "change_pct": -1.23,
              "date": "2026-09-16"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 81.55,
              "change_pct": -1.31,
              "date": "2026-09-16"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.22,
              "change_pct": -1.92,
              "date": "2026-09-16"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.45,
              "change_pct": -1.97,
              "date": "2026-09-16"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 35.35,
              "change_pct": -0.67,
              "date": "2026-09-16"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 334.131,
                "latest_date": "2026-08-01",
                "yoy_pct": 3.71,
                "mom_pct": 0.4
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 23
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 29
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 49
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 57
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 71
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 85
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 90
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 34,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 수주 | 악재: 부진",
                "articles": [
                  "“중국 덤핑에 판 뒤집는다…LG에너지솔루션의 필살기 ‘소듐이온 전지’ 대반격” - 뉴스퀘스트",
                  "NH증권 \"LG엔솔, 'ESS 수주 제한적' 오해로 주가부진…매수기회\" - 연합뉴스"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 28,
                "label": "긍정",
                "summary": "호재: 상승, 강세, 기대",
                "articles": [
                  "[특징주] 삼성SDI, '中배터리 견제' 기대 이어지자 장초반 강세 - 연합뉴스",
                  "[클릭 e종목]\"수주 경쟁력 강화…삼성SDI 목표주가 60만→73만원\" - 아시아경제"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 급등, 반등 | 악재: 하락, 악재",
                "articles": [
                  "LG화학 주가 장중 6%대 올라, 한국정부 중국 아크릴산 부틸에 덤핑관세 부과 - 비즈니스포스트",
                  "LG화학 투자분석 2026. 09. 12 - judal.co.kr"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 기대감, 기대",
                "articles": [
                  "‘이재근 체제’ 출범에 KB금융 이익 다변화 기대감…증권가도 목표주가 잇따라 올려 - econovill.com",
                  "KB금융 이재근 등판 속...실적 전망은?, 장중 주가는? - 초이스경제"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 상승, 성장, 매수 | 악재: 급락, 경고",
                "articles": [
                  "HPSP 주가, 웃음꽃... 증권가 전망은? - 금강일보",
                  "반도체공장 증설…HPSP 내년에도 폭발적 성장 [한국주식 원포인트 레슨] - 매일경제"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": 12,
                "label": "중립",
                "summary": "호재: 호재, 회복, 기대",
                "articles": [
                  "\"포스코퓨처엠, LFP 시장 진입 호재…목표가↑\"[클릭 e종목] - 아시아경제",
                  "키움증권, 포스코퓨처엠 투자의견·목표가↑…\"매출 회복 전망\" - 연합뉴스"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 9,
                "label": "중립",
                "summary": "호재: 급등, 상승 | 악재: 하락, 우려",
                "articles": [
                  "하이닉스 하락 맞춘 증권사…이번엔 삼성전자 목표가 내렸다 - 매일경제",
                  "SK하이닉스 주가, 오늘 왜 급등하나? - Investing.com 한국어"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 6,
                "label": "중립",
                "summary": "호재: 목표가 상향, 주주환원, 기대감 | 악재: 주의, 하락, 조정",
                "articles": [
                  "“삼성전자 덕에 몸값 35조 뛰었다”…삼성물산 목표가 70만원 나온 이유 [이주의 Bull기둥] - 매일경제 마켓",
                  "흥국증권 \"삼성물산, 실적과 주주환원에 재평가…목표가 상향\" - 연합뉴스"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -28,
                "label": "부정",
                "summary": "악재: 하락, 불확실, 약세",
                "articles": [
                  "[증시다트] 현대차·기아 목표가 동반 상향…실적 온도차에도 ‘로봇 프리미엄’ 커졌다 - :: 위즈경제 ::"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -25,
                "label": "부정",
                "summary": "호재: 반등, 성장 | 악재: 조정, 약세, 하락",
                "articles": [
                  "리노공업, 주가 조정 끝내고 반등 준비...AI 반도체가 다시 모멘텀 - 증권일보",
                  "[서치 e종목] 리노공업, 대규모 캐파 증설 등으로 점진적 성장 전망…주가 향방은? - 데일리인베스트"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -21,
                "label": "부정",
                "summary": "악재: 하락, 유상증자, 적자",
                "articles": [
                  "“돌아온 건 급여 삭감뿐”…삼성바이오로직스 강경 노조에 내부 불만 확산 - 쿠키뉴스",
                  "바이오의약품 위탁개발생산(CDMO) 세계 1위 초격차 - 삼성바이오로직스 - 네이버 프리미엄콘텐츠"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -12,
                "label": "중립",
                "summary": "호재: 호재 | 악재: 하락, 악재, 적자",
                "articles": [
                  "'인적분할 주주달래기' 3000억 소각 카드 꺼낸 카카오···주주 마음 잡을까 - 시사저널e",
                  "카카오, 인적분할에 주주달래기…“기업가치 할인 줄인다” - 딜사이트"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -12,
                "label": "중립",
                "summary": "악재: 하락, 유상증자, 급락",
                "articles": [
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - 연합뉴스",
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": -6,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락",
                "articles": [
                  "삼성전자 ‘27만원’·SK하이닉스 ‘148만원’...BNK “주가 상단 제한적” - v.daum.net",
                  "하이닉스 하락 맞춘 증권사…이번엔 삼성전자 목표가 내렸다 - 매일경제"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -6,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락, 실적 부진, 부진",
                "articles": [
                  "아틀라스 띄웠지만 주가 꺾인 현대차…성과는 자회사, 투자는 본사? - sisajournal.com",
                  "[The Numbers] 현대차 “보스턴 다이내믹스 내년 IPO 어려워”…주가 띄운 아틀라스, 이제는 손익계산서 시험대 - 뉴스스페이스"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": -6,
                "label": "중립",
                "summary": "호재: 성장, 기대 | 악재: 하락, 조정",
                "articles": [
                  "코스닥 시총 상위 10곳 중 7곳이었는데…바이오 기업, 이제 한 곳만 남았다 - 매일경제 마켓",
                  "신한증권, 알테오젠 목표주가 상향…'노바티스와 4.4조 메가딜' - 연합뉴스"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": 0,
                "label": "중립",
                "summary": "호재: 자사주 매입, 상승 | 악재: 하락",
                "articles": [
                  "오늘 주식 시장이 크게 흔들릴 수 있습니다 - 네이버 프리미엄콘텐츠"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0113,
            "tree_metrics": {
              "avg_auc": 0.776,
              "avg_accuracy": 0.7173
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7719,
              "accuracy": 0.7032
            },
            "relative_strength": [
              {
                "ticker": "055550",
                "name": "신한지주",
                "price": 112600,
                "relative_rank_pct": 80,
                "return_5d_pct": 1.81,
                "return_20d_pct": 7.24,
                "rsi": 56.7,
                "position_52w_pct": 92.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 9950,
                "relative_rank_pct": 78.1,
                "return_5d_pct": 10.93,
                "return_20d_pct": 12.68,
                "rsi": 57.8,
                "position_52w_pct": 16,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1757000,
                "relative_rank_pct": 72.6,
                "return_5d_pct": -5.33,
                "return_20d_pct": 17.13,
                "rsi": 51.9,
                "position_52w_pct": 54.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000150",
                "name": "두산",
                "price": 1384000,
                "relative_rank_pct": 70.8,
                "return_5d_pct": 6.54,
                "return_20d_pct": 16.01,
                "rsi": 61.6,
                "position_52w_pct": 43.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "402340",
                "name": "SK스퀘어",
                "price": 1017000,
                "relative_rank_pct": 67.1,
                "return_5d_pct": -10.63,
                "return_20d_pct": 1.29,
                "rsi": 44.7,
                "position_52w_pct": 42.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "329180",
                "name": "HD현대중공업",
                "price": 442500,
                "relative_rank_pct": 67.1,
                "return_5d_pct": -4.53,
                "return_20d_pct": -6.65,
                "rsi": 42.3,
                "position_52w_pct": 8.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "042700",
                "name": "한미반도체",
                "price": 226500,
                "relative_rank_pct": 65.2,
                "return_5d_pct": -9.58,
                "return_20d_pct": 2.49,
                "rsi": 52.6,
                "position_52w_pct": 42,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 13250,
                "relative_rank_pct": 62.5,
                "return_5d_pct": 20.02,
                "return_20d_pct": 5.41,
                "rsi": 58,
                "position_52w_pct": 14.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 136900,
                "relative_rank_pct": 62.5,
                "return_5d_pct": -10.81,
                "return_20d_pct": 6.21,
                "rsi": 64.8,
                "position_52w_pct": 63.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 253500,
                "relative_rank_pct": 61.5,
                "return_5d_pct": -5.94,
                "return_20d_pct": 2.42,
                "rsi": 41.1,
                "position_52w_pct": 60.4,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "068270",
                "name": "셀트리온",
                "price": 177400,
                "relative_rank_pct": 20,
                "return_5d_pct": -3.11,
                "return_20d_pct": -8.6,
                "rsi": 14.4,
                "position_52w_pct": 23.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1405000,
                "relative_rank_pct": 23.7,
                "return_5d_pct": -3.24,
                "return_20d_pct": -9,
                "rsi": 21.6,
                "position_52w_pct": 23.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "price": 202000,
                "relative_rank_pct": 24.6,
                "return_5d_pct": -3.81,
                "return_20d_pct": -2.88,
                "rsi": 35.1,
                "position_52w_pct": 17,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4620,
                "relative_rank_pct": 26.5,
                "return_5d_pct": -2.12,
                "return_20d_pct": 4.05,
                "rsi": 39.3,
                "position_52w_pct": 25.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4315,
                "relative_rank_pct": 27.4,
                "return_5d_pct": 0,
                "return_20d_pct": 3.73,
                "rsi": 57.6,
                "position_52w_pct": 34.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 20500,
                "relative_rank_pct": 28.3,
                "return_5d_pct": -1.68,
                "return_20d_pct": -5.53,
                "rsi": 37.7,
                "position_52w_pct": 36.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1294,
                "relative_rank_pct": 29.2,
                "return_5d_pct": -3.43,
                "return_20d_pct": -12.63,
                "rsi": 38,
                "position_52w_pct": 12.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "010130",
                "name": "고려아연",
                "price": 1144000,
                "relative_rank_pct": 30.1,
                "return_5d_pct": -6.76,
                "return_20d_pct": -0.09,
                "rsi": 11.7,
                "position_52w_pct": 20.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "price": 256500,
                "relative_rank_pct": 30.1,
                "return_5d_pct": -8.23,
                "return_20d_pct": -15.49,
                "rsi": 21.1,
                "position_52w_pct": 25.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "017670",
                "name": "SK텔레콤",
                "price": 88300,
                "relative_rank_pct": 31.1,
                "return_5d_pct": -3.29,
                "return_20d_pct": -9.9,
                "rsi": 25.7,
                "position_52w_pct": 41.9,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "상승을 설명하는 핵심 요인은 전일 국내 반등의 연장과 반도체·대형주 하방을 완충한 해외 기술주 counter-signal로 판단됩니다. Morning 스냅샷의 SOX +0.63%, NVDA +0.82%, AMD +1.65%는 S&P500 -0.45%와 다우 -1.21%라는 broad market 약세와 충돌했지만 국내 기술주 심리를 지지할 수 있는 신호였습니다. 기관의 전일 순매수와 금융주 강세도 지수 하방을 제한했을 가능성이 있습니다. 다만 장중 breadth와 종목별 실시간 수급은 확보되지 않아 특정 업종의 기여도와 시장 확산 정도는 확정할 수 없습니다.",
          "data_synthesis": "국내 시장은 KOSPI 6,724.34, KOSDAQ 821.67로 상승 마감했습니다. Morning 기준 KOSPI는 6,717.97이었고 실제 변화는 +6.37포인트, 약 +0.0948%입니다. 전일 국내 반등과 기관 순매수, 금융주 기술적 강세는 상승 지지 요인이었고, 원화 약세·높은 금리·외국인 순매도·20일선 미회복은 제약 요인이었습니다. 해외에서는 broad market 약세와 SOX·주요 반도체주의 반등이 엇갈렸습니다. Fear & Greed 55점과 거래량 5일/20일 0.96배는 과열보다 중립에 가까웠습니다. 장중 breadth, 종목별 실시간 수급, 일부 비동시 해외 자료가 없어 상승의 시장 전체 확산은 확인하지 못했습니다. ML은 LightGBM·XGBoost·LSTM 3개 모델, 73개 feature, 50개 예측이 모두 pending입니다.",
          "failure_analysis": "LLM 방향 평가는 상승을 맞히지 못했으나 평가 대상 변동폭이 매우 작고, Morning의 보합 시나리오가 상승·하락 양쪽 조건을 명시했다는 점에서 강한 실패로 확대 해석하지 않습니다. 다음에는 broad market 약세와 국내 반도체 counter-signal이 충돌할 때 지수 방향을 단일 매크로 신호로 누르지 않고, 대형주·반도체 리더의 실제 확산 여부를 더 높은 우선순위의 조건부 신호로 분리합니다. ML은 5회 관측 세션 전으로 50건 모두 pending이므로 이번 KOSPI 절대 방향의 실패 분석이나 개선 근거로 사용하지 않습니다.",
          "improvement": {
            "next_observation": "반도체 counter-signal이 국내 대형주와 breadth로 확산되는지, 외국인·기관 수급 방향이 동반되는지를 다음 관측에서 확인합니다.",
            "proposal": null,
            "reason": "이번 결과만으로 새로운 프롬프트 또는 ML 변경을 적용하지 않습니다. Morning이 이미 SOX·NVDA·AMD를 counter-signal로 포함했고, 실제 상승폭이 약 0.09%로 제한적이며 장중 breadth와 종목별 수급이 없어 추가 변경의 근거가 충분하지 않습니다. ML 상대성과는 아직 성숙하지 않았습니다.",
            "status": "none"
          },
          "rationale_vs_actual": "Morning은 국내 지수의 전일 반등, 기관 순매수, SOX·NVDA·AMD 반등을 상승 요인으로 인식했지만, broad market 약세·원화 약세·외국인 순매도·추세 미회복을 함께 반영해 보합으로 판단했습니다. 실제로는 부담 요인들이 지수를 하락시키지 못했고 반도체 및 국내 대형주에 대한 완충 효과가 우세했습니다. 따라서 실패 원인은 상승 counter-signal의 조건부 성격을 지나치게 낮게 평가하고, KOSPI가 20일선 아래라는 추세 신호와 외국인 순매도를 당일 방향성에 상대적으로 더 크게 반영한 데 있습니다. 보합 예측은 상승 방향을 맞히지는 못했지만 실제 변동폭이 약 0.09%에 그쳐 방향 오차의 크기는 제한적이었습니다.",
          "summary": "Morning은 보합을 기본 시나리오로 제시했으나 실제 KOSPI는 6,724.34로 상승했습니다. 전일 종가 6,717.97 대비 6.37포인트, 약 0.0948% 상승하여 방향은 빗나갔지만 과도한 상승을 예상하지 않은 보수적 판단의 범위 안에서 결과가 형성되었습니다. KOSDAQ은 821.67로 마감했습니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6724.34,
          "kosdaq_close": 821.67,
          "direction": "상승",
          "return_pct": 0.09482031,
          "observed_at": "2026-09-17T16:30:30.066695+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 509,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-faf3ad98c9882a57",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-17/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-17/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-17-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-ec2768a31799e6c8"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-17-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-17-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-16-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-16",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-a625b1b2cc0cb135",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-16",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "하락",
          "confidence": 0.74,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "e273bad3ddca4f7cae00ea9251e6f6eaae025a13b3134d8f6117c59305605e99",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "confidence",
              "rationale",
              "key_variables",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "국내 약세와 해외 반도체 반등이 충돌하는 상황에서 해외 counter-signal을 별도 반영하고, 장중 breadth·당일 종목 수급 부재는 방향 근거가 아닌 불확실성으로 처리하여 하락 확신을 제한했습니다."
          },
          "snapshot_cutoff": "2026-09-16T07:31:46.523431+09:00",
          "generated_at": "2026-09-16T07:35:03.905265+09:00",
          "summary": "KOSPI는 전일 6,627.26으로 0.85% 하락했고 20일선 6,796.41을 2.49% 밑돌아 국내 추세는 약세입니다. S&P500·나스닥·다우도 각각 0.45%·0.78%·0.63% 하락했으며 원/달러 1,362.68원(+1.27%), 유가 상승과 금리 5.00%가 부담입니다. 다만 SOX(+0.40%)와 NVIDIA(+0.57%), AMD(+2.19%) 등 반도체 counter-signal은 하락 압력을 일부 상쇄합니다. KOSPI 외국인과 기관이 각각 1조5,521억원·9,522억원 순매도한 점, 중립 공포·탐욕 지수 51, 당일 breadth 부재를 함께 고려하면 절대 방향은 하락으로 판단하되 확신은 제한합니다.",
          "market_summary": "국내 시장의 기준 세션은 2026-09-15입니다. KOSPI는 6,627.26(-0.85%)으로 20일선 6,796.41 대비 -2.49%이며 심리 신호는 비관(40)입니다. KOSDAQ은 812.41(+0.70%), 20일 이격은 -1.02%로 상대적으로 견조하지만 KOSPI 대형주 약세를 뒤집기에는 부족합니다. 종목 기술 스캔은 역배열·혼조가 넓고 삼성전자 250,500원(-7.05% 5일), 현대차 369,500원(-4.03% 5일) 등 주요 종목의 중기 약세가 확인됩니다.",
          "overseas_market_and_overnight": "미국은 S&P500 7,585.73(-0.45%), 나스닥 25,981.57(-0.78%), 다우 52,093.11(-0.63%)로 위험자산 전반이 약했습니다. 반면 SOX 11,175.55(+0.40%), NVIDIA(+0.57%), AMD(+2.19%), QCOM(+4.25%), SMH(+0.11%)는 반도체·성장주 일부 반등을 보였습니다. 아시아는 니케이(-0.81%), 항셍(+0.45%)으로 엇갈렸고, ADR은 KB금융(-2.48%), 신한지주(-1.76%), SK텔레콤(-2.01%) 등 국내 금융·통신 약세 신호가 우세합니다.",
          "macro": "미국 CPI는 전년비 3.71%, 전월비 0.40%, PPI는 전년비 9.85%, 전월비 0.96%, 실업률은 4.1%입니다. 10년물 금리는 5.00%(+0.71%)로 상승했고 DXY는 99.61(+0.15%), 달러/원은 1,362.68원(+1.27%)입니다. 2026-09-16 FOMC가 당일 일정으로 표시되어 있어 금리·환율 변동성이 국내 증시에 추가 부담이 될 수 있습니다. 브렌트 108.35달러(+2.53%), WTI 105.49달러(+4.04%)도 인플레이션 부담을 키우는 요인입니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 51(중립)이며 최근 10일 중 상승일은 4일, KOSPI 20일 변동성은 2.74%, 거래량 5일/20일 비율은 1.02배입니다. KOSPI 수급은 2026-09-15 기준 외국인 1조5,521억원 순매도, 기관합계 9,522억원 순매도이고 KOSDAQ은 외국인 272억원·기관 1,214억원 순매수입니다. 시장 단위 수급은 사용 가능하지만 watchlist 개별 종목 수급과 breadth는 제공되지 않아 종목별 수급 확산 여부는 확인할 수 없습니다. 뉴스 감성은 삼성전자·SK하이닉스, 삼성바이오로직스, 기아, 카카오, 리노공업에서 부정적이고 LG에너지솔루션·삼성SDI·포스코퓨처엠은 긍정적이어서 업종별 차별화가 큽니다.",
          "ml_summary": "ML은 LightGBM·XGBoost·LSTM 3개 모델로 73개 feature를 사용해 50개 상대성과 예측을 생성했습니다. 5일 목표의 교차검증 평균 정확도는 0.718, 평균 AUC는 0.7747이고 LSTM AUC 0.7726·정확도 0.7101입니다. ML의 시장 bias는 약세이며, 상위 상대강도 후보에도 SK하이닉스 5일 수익률 -4.52%, 삼성SDI +3.96%처럼 시장 방향과 별개인 상대 신호가 섞여 있습니다. 따라서 ML 신호는 KOSPI 절대 방향의 대체값이 아니라 종목 간 상대성과 참고로만 반영했습니다.",
          "forecast": "하락. 국내 추세·KOSPI 수급·원화 약세·유가·금리와 미국 주요 지수 약세가 하방을 지지합니다. SOX 및 미국 반도체 리더의 반등은 counter-signal로서 낙폭을 제한할 수 있으나, FOMC 당일 변동성과 국내 대형주 약세를 상쇄한다고 보기는 어렵습니다.",
          "rationale": [
            "KOSPI는 6,627.26으로 전일 대비 0.85% 하락했고 20일선 6,796.41 대비 2.49% 낮아 국내 단기 추세가 약세입니다.",
            "KOSPI 외국인 1조5,521억원·기관합계 9,522억원 순매도는 지수 하방 압력을 확인하지만, KOSDAQ은 양 매수여서 시장 전체의 일방적 투매로 확대하지는 않았습니다.",
            "S&P500·나스닥·다우가 각각 0.45%·0.78%·0.63% 하락해 글로벌 위험선호가 약했고, VIX 17.20과 VXN 22.26은 변동성 경계 요인입니다.",
            "달러/원 1,362.68원(+1.27%), 10년물 5.00%, 브렌트 108.35달러와 WTI 105.49달러 상승은 원화·금리·비용 측면에서 국내 주식에 부담입니다.",
            "SOX(+0.40%), NVIDIA(+0.57%), AMD(+2.19%), QCOM(+4.25%)의 반도체 반등은 국내 지수 하락을 완화할 counter-signal입니다.",
            "삼성전자와 SK하이닉스 뉴스 감성이 각각 -6으로 중립 표기지만 하락·급락 키워드가 포함되고, 삼성전자 5일 수익률 -7.05%와 SK하이닉스 -4.52%가 약세를 보입니다.",
            "공포·탐욕 지수는 51 중립이나 최근 10일 상승일이 4일이고 KOSPI 심리 점수는 40(비관)이라 반등 신호보다 취약한 내부 흐름이 우세합니다.",
            "ML은 50개 종목의 5일 상대성과를 약세 bias로 제시하지만 절대 KOSPI 방향 모델이 아니므로 방향 판단을 보조하는 수준으로 제한했습니다."
          ],
          "observation_points": [
            "FOMC 당일 금리·달러 반응과 미국 주요 지수 선물",
            "SOX·NVIDIA·AMD 반등이 국내 반도체 시가와 KOSPI에 전이되는지 여부",
            "원/달러 1,362.68원과 10년물 5.00%의 추가 상승 여부",
            "KOSPI 외국인·기관 수급의 재개방향과 장중 breadth",
            "삼성전자·SK하이닉스의 하락 지속 여부 및 거래량 변화",
            "유가 100달러대 상승이 인플레이션·위험회피 심리를 강화하는지 여부"
          ],
          "uncertainties": [
            "장중 breadth와 상승·하락 종목 수가 스냅샷에 없어 지수 하락의 확산 정도를 확인할 수 없습니다.",
            "watchlist 개별 종목 외국인·기관 수급은 시장 단위 제공자 범위 밖이라 종목별 수급 확인이 불가능합니다.",
            "FOMC 결과와 시장 반응은 스냅샷 시점 이후 정보이므로 사전 판단에 반영하지 않았습니다.",
            "해외·ADR 데이터의 일부 기준일이 2026-09-14 또는 2026-09-15로 서로 달라 동시성에 한계가 있습니다.",
            "ML 예측은 5일 상대성과 목표이며 KOSPI 절대 수익률이나 방향 확률로 해석하지 않았습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-16/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6627.26,
              "change_pct": -0.85,
              "sma20": 6796.41,
              "disparity_20_pct": null,
              "sentiment": 40,
              "sentiment_signal": "비관"
            },
            "kosdaq": {
              "close": 812.41,
              "change_pct": 0.7,
              "sma20": null,
              "disparity_20_pct": -1.02,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "fear_greed_score": 51,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 38,
                "value": -2.49,
                "description": "KOSPI 20일선 대비 -2.49%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 97,
                "value": 2.74,
                "description": "KOSPI 20일 변동성 2.74%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 40,
                "value": 4,
                "description": "최근 10일 중 4일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 34,
                "value": -2.49,
                "description": "20일 이격도 -2.49%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 35,
                "value": 1.02,
                "description": "거래량 5일/20일 비율 1.02x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "52주高 근접 0개, 低 근접 0개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-15",
              "collected_at": "2026-09-15T22:31:11.992482+00:00",
              "hash": "cc397e64b11fc3a34c77de393cb8a831d9fdb2b135a3099c276dd5ca4743b138",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-15"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-15"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-15"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-15"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -1552064643513,
                  "unit": "KRW",
                  "display_value": -15520.64643513,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-15",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -952218923730,
                  "unit": "KRW",
                  "display_value": -9522.1892373,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-15",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": 27154113498,
                  "unit": "KRW",
                  "display_value": 271.54113498,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-15",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 121445090329,
                  "unit": "KRW",
                  "display_value": 1214.45090329,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-15",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-15",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "068270",
                  "name": "셀트리온",
                  "score": 68,
                  "close": 178000,
                  "change_pct": 0.56,
                  "rsi": 36.1,
                  "macd_hist": -1711.524,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -25.6,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(36)",
                    "BB하단(0.08)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 68,
                  "close": 261500,
                  "change_pct": 1.36,
                  "rsi": 39.7,
                  "macd_hist": -6529.039,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -40.3,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(40)",
                    "BB하단(0.10)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 176400,
                  "change_pct": -2.65,
                  "rsi": 55.2,
                  "macd_hist": 779.351,
                  "bb_pband": 0.75,
                  "vol_ratio": 1,
                  "pct_52w_high": -9.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 111900,
                  "change_pct": -2.7,
                  "rsi": 54.8,
                  "macd_hist": 117.752,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -3.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 137500,
                  "change_pct": -2.07,
                  "rsi": 55.2,
                  "macd_hist": 118.117,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -3.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 65,
                  "close": 86800,
                  "change_pct": 1.4,
                  "rsi": 55.4,
                  "macd_hist": 416.964,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -37.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 65,
                  "close": 29350,
                  "change_pct": -1.01,
                  "rsi": 58.8,
                  "macd_hist": 27.447,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.3,
                  "pct_52w_high": -5.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 128800,
                  "change_pct": 2.63,
                  "rsi": 56.2,
                  "macd_hist": 325.827,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -35.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 55100,
                  "change_pct": -0.9,
                  "rsi": 51.5,
                  "macd_hist": 192.574,
                  "bb_pband": 0.61,
                  "vol_ratio": 0.2,
                  "pct_52w_high": -39.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035250",
                  "name": "강원랜드",
                  "score": 65,
                  "close": 14740,
                  "change_pct": -0.41,
                  "rsi": 53.1,
                  "macd_hist": 12.176,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -24.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 363500,
                  "change_pct": 3.56,
                  "rsi": 52.2,
                  "macd_hist": -847.974,
                  "bb_pband": 0.6,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -31,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 60,
                  "close": 270500,
                  "change_pct": 1.12,
                  "rsi": 48.5,
                  "macd_hist": -727.552,
                  "bb_pband": 0.43,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -38.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 60,
                  "close": 551000,
                  "change_pct": 3.77,
                  "rsi": 56.2,
                  "macd_hist": -3225.233,
                  "bb_pband": 0.62,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -23.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 189700,
                  "change_pct": 7.24,
                  "rsi": 57.3,
                  "macd_hist": -348.676,
                  "bb_pband": 0.72,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -36.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 60,
                  "close": 661000,
                  "change_pct": -1.78,
                  "rsi": 51.3,
                  "macd_hist": -722.985,
                  "bb_pband": 0.51,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -12.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 60,
                  "close": 45800,
                  "change_pct": -2.14,
                  "rsi": 51.3,
                  "macd_hist": -105.718,
                  "bb_pband": 0.49,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -42.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 60,
                  "close": 147300,
                  "change_pct": 1.24,
                  "rsi": 50.4,
                  "macd_hist": -1117.024,
                  "bb_pband": 0.44,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -16.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 58,
                  "close": 1409000,
                  "change_pct": 0.5,
                  "rsi": 39,
                  "macd_hist": -15255.535,
                  "bb_pband": 0.15,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -29.1,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(39)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "005380",
                  "name": "현대차",
                  "score": 58,
                  "close": 369500,
                  "change_pct": 0.54,
                  "rsi": 36.8,
                  "macd_hist": -1193.325,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -52.8,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "BB하단(0.08)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000270",
                  "name": "기아",
                  "score": 58,
                  "close": 122300,
                  "change_pct": -0.97,
                  "rsi": 38.5,
                  "macd_hist": -206.855,
                  "bb_pband": 0.04,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -42.4,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(39)",
                    "BB하단(0.04)",
                    "역배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "gainers": [
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 189700,
                  "change_pct": 7.24,
                  "rsi": 57.3,
                  "macd_hist": -348.676,
                  "bb_pband": 0.72,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -36.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 48,
                  "close": 53000,
                  "change_pct": 4.13,
                  "rsi": 59.5,
                  "macd_hist": -18.762,
                  "bb_pband": 0.7,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -42.4,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 60,
                  "close": 551000,
                  "change_pct": 3.77,
                  "rsi": 56.2,
                  "macd_hist": -3225.233,
                  "bb_pband": 0.62,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -23.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 50,
                  "close": 202000,
                  "change_pct": 3.64,
                  "rsi": 51.7,
                  "macd_hist": -1217.42,
                  "bb_pband": 0.48,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -53.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 363500,
                  "change_pct": 3.56,
                  "rsi": 52.2,
                  "macd_hist": -847.974,
                  "bb_pband": 0.6,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -31,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 38,
                  "close": 107000,
                  "change_pct": 3.38,
                  "rsi": 46.9,
                  "macd_hist": -85.857,
                  "bb_pband": 0.32,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -58.2,
                  "alignment": "혼조",
                  "reasons": [
                    "MACD데드"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 50,
                  "close": 222000,
                  "change_pct": 3.02,
                  "rsi": 47.2,
                  "macd_hist": -2779.456,
                  "bb_pband": 0.22,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -42.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 128800,
                  "change_pct": 2.63,
                  "rsi": 56.2,
                  "macd_hist": 325.827,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -35.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 50,
                  "close": 113600,
                  "change_pct": 1.88,
                  "rsi": 49.7,
                  "macd_hist": -1161.397,
                  "bb_pband": 0.37,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -38.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1712000,
                  "change_pct": 1.72,
                  "rsi": 49.5,
                  "macd_hist": 13420.139,
                  "bb_pband": 0.53,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -42.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 48,
                  "close": 126900,
                  "change_pct": -3.86,
                  "rsi": 52.8,
                  "macd_hist": -72.85,
                  "bb_pband": 0.58,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -15.3,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 111900,
                  "change_pct": -2.7,
                  "rsi": 54.8,
                  "macd_hist": 117.752,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -3.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 176400,
                  "change_pct": -2.65,
                  "rsi": 55.2,
                  "macd_hist": 779.351,
                  "bb_pband": 0.75,
                  "vol_ratio": 1,
                  "pct_52w_high": -9.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 28,
                  "close": 288000,
                  "change_pct": -2.54,
                  "rsi": 44.4,
                  "macd_hist": -106.67,
                  "bb_pband": 0.21,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -44.2,
                  "alignment": "역배열",
                  "reasons": [
                    "MACD데드",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 60,
                  "close": 45800,
                  "change_pct": -2.14,
                  "rsi": 51.3,
                  "macd_hist": -105.718,
                  "bb_pband": 0.49,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -42.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 137500,
                  "change_pct": -2.07,
                  "rsi": 55.2,
                  "macd_hist": 118.117,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -3.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 60,
                  "close": 661000,
                  "change_pct": -1.78,
                  "rsi": 51.3,
                  "macd_hist": -722.985,
                  "bb_pband": 0.51,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -12.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "024110",
                  "name": "기업은행",
                  "score": 38,
                  "close": 20450,
                  "change_pct": -1.68,
                  "rsi": 46.9,
                  "macd_hist": -3.74,
                  "bb_pband": 0.4,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -30.8,
                  "alignment": "혼조",
                  "reasons": [
                    "MACD데드"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "011200",
                  "name": "HMM",
                  "score": 50,
                  "close": 20750,
                  "change_pct": -1.66,
                  "rsi": 45.7,
                  "macd_hist": -111.136,
                  "bb_pband": 0.21,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -16.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 40,
                  "close": 21250,
                  "change_pct": -1.62,
                  "rsi": 41.4,
                  "macd_hist": -40.499,
                  "bb_pband": 0.12,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -28,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7585.73,
              "change_pct": -0.45,
              "date": "2026-09-15"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 25981.57,
              "change_pct": -0.78,
              "date": "2026-09-15"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52093.11,
              "change_pct": -0.63,
              "date": "2026-09-15"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11175.55,
              "change_pct": 0.4,
              "date": "2026-09-15"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 212.17,
              "change_pct": 0.57,
              "date": "2026-09-15"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 504.2,
              "change_pct": 2.19,
              "date": "2026-09-15"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 927.6,
              "change_pct": 0.39,
              "date": "2026-09-15"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 187.8,
              "change_pct": 4.25,
              "date": "2026-09-15"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 97.14,
              "change_pct": -0.05,
              "date": "2026-09-15"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 17.2,
              "change_pct": 0.58,
              "date": "2026-09-15"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 22.26,
              "change_pct": 0.95,
              "date": "2026-09-15"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 5,
              "change_pct": 0.71,
              "date": "2026-09-15"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1362.68,
              "change_pct": 1.27,
              "date": "2026-09-16"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 155.06,
              "change_pct": 1.07,
              "date": "2026-09-15"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 99.61,
              "change_pct": 0.15,
              "date": "2026-09-15"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 108.35,
              "change_pct": 2.53,
              "date": "2026-09-15"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 105.49,
              "change_pct": 4.04,
              "date": "2026-09-15"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4332.5,
              "change_pct": -0.45,
              "date": "2026-09-15"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 63492.99,
              "change_pct": -0.81,
              "date": "2026-09-14"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 24917.6,
              "change_pct": 0.45,
              "date": "2026-09-14"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6260.38,
              "change_pct": -1.02,
              "date": "2026-09-14"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25440.81,
              "change_pct": -0.5,
              "date": "2026-09-14"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 704.54,
              "change_pct": -0.65,
              "date": "2026-09-15"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 542.11,
              "change_pct": 0.11,
              "date": "2026-09-15"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 61.1,
              "change_pct": 2.45,
              "date": "2026-09-15"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 129.59,
              "change_pct": -2.48,
              "date": "2026-09-15"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 82.63,
              "change_pct": -1.76,
              "date": "2026-09-15"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.44,
              "change_pct": -1.04,
              "date": "2026-09-15"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.84,
              "change_pct": -0.65,
              "date": "2026-09-15"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 35.59,
              "change_pct": -2.01,
              "date": "2026-09-15"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 334.131,
                "latest_date": "2026-08-01",
                "yoy_pct": 3.71,
                "mom_pct": 0.4
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 0
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 24
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 30
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 50
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 58
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 72
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 86
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 91
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 43,
                "label": "매우긍정",
                "summary": "호재: 매수, 수주, 회복 | 악재: 부진, 우려",
                "articles": [
                  "NH증권 \"LG엔솔, 'ESS 수주 제한적' 오해로 주가부진…매수기회\" - v.daum.net",
                  "LG에너지솔루션, ESS 신규 수주에 유럽 회복까지…\"오해 속 주가 부진은 매수 시점“ - 프라임경제"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 기대감",
                "articles": [
                  "주가 내려도 개인 순매수 2위···알테오젠 저력은 ‘중장기 실적 기대감’ - 시사저널e",
                  "신한증권, 알테오젠 목표가↓…\"노바티스 신약 1개 3상 실패\" - 연합뉴스"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 성장, 기대감 | 악재: 급락, 경고",
                "articles": [
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓",
                  "HPSP 주가, 웃음꽃... 증권가 전망은? - 금강일보"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 급등, 반등, 돌파 | 악재: 하락, 적자, 우려",
                "articles": [
                  "LG화학 투자분석 2026. 09. 12 - 주달",
                  "LG화학 주가 장중 6%대 올라, 한국정부 중국 아크릴산 부틸에 덤핑관세 부과 - 비즈니스포스트"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 강세, 기대, 수주",
                "articles": [
                  "“삼성SDI, 4년 할인 드디어 끝났다”…목표주가 60만→73만원 [오늘 나온 보고서] - 매일경제 마켓",
                  "[특징주] 삼성SDI 3%대 강세…美, 中 배터리 견제 목표주가 ↑ - 뉴스핌"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 상승, 급등, 매수 | 악재: 하락, 부진",
                "articles": [
                  "주가 두자릿수 뛴 포스코퓨처엠…\"이차전지 바닥 끝났나\" - 연합인포맥스",
                  "[리포트 브리핑]포스코퓨처엠, '3Q26 Preview: LFP 키 플레이어 그 이상' 목표가 290,000원 - 다올투자증권 - 뉴스핌"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 9,
                "label": "중립",
                "summary": "호재: 목표가 상향, 자사주 매입, 주주환원 | 악재: 급락",
                "articles": [
                  "[클릭 e종목]\"셀트리온, 옴리클로 잠재력 주목…목표가 상향\" - v.daum.net",
                  "셀트리온, 시밀러 시장서 도약...2026년 실적·주가 분수령 - s-d.kr"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 9,
                "label": "중립",
                "summary": "호재: 목표가 상향, 주주환원, 기대감 | 악재: 하락",
                "articles": [
                  "흥국증권 \"삼성물산, 실적과 주주환원에 재평가…목표가 상향\" - 연합뉴스",
                  "삼성전자보다 주가 더 빠진 삼성물산⋯'역대급 배당' 반전되나 - v.daum.net"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -31,
                "label": "부정",
                "summary": "악재: 하락, 유상증자, 급락",
                "articles": [
                  "“돌아온 건 급여 삭감뿐”…삼성바이오로직스 강경 노조에 내부 불만 확산 - kukinews.com",
                  "당국 문턱 넘은 삼성바이오로직스…3조 유상증자 조달 청신호 | - 연합인포맥스"
                ]
              },
              {
                "ticker": "000270",
                "name": "기아",
                "score": -28,
                "label": "부정",
                "summary": "악재: 하락, 불확실, 약세",
                "articles": [
                  "기아, 신차 'PV7 공개' 그 후...불확실성 털어낼까? - 초이스경제",
                  "[증시다트] 현대차·기아 목표가 동반 상향…실적 온도차에도 ‘로봇 프리미엄’ 커졌다 - :: 위즈경제 ::"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -28,
                "label": "부정",
                "summary": "호재: 반등, 성장 | 악재: 조정, 약세, 우려",
                "articles": [
                  "리노공업, 주가 조정 끝내고 반등 준비...AI 반도체가 다시 모멘텀 - s-d.kr",
                  "리노공업 주가 최근 5거래일 6만원 후반대 약세 마감 - 톱스타뉴스"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -25,
                "label": "부정",
                "summary": "호재: 호재 | 악재: 악재, 폭락, 하락",
                "articles": [
                  "[공시학개론] 호재로 불리던 인적분할...카카오 사태서 악재인 이유는? - 아주경제",
                  "카카오 인적분할 가시밭길… 주가폭락에, 개미 반발 거세 - IT조선"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -15,
                "label": "부정",
                "summary": "악재: 하락, 유상증자, 급락",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스",
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - 연합뉴스"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": -6,
                "label": "중립",
                "summary": "호재: 주주환원 | 악재: 하락",
                "articles": [
                  "‘하닉 하락 적중했던 그 보고서’…이번엔 삼성전자 목표가 낮췄다 - munhwa.com",
                  "삼성전자도 네이버도 아니다…개미들이 일주일간 쓸어담은 '1위' - 위키트리"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": -6,
                "label": "중립",
                "summary": "악재: 급락, 하락",
                "articles": [
                  "[이슈콘서트] 삼성전자·SK하이닉스 주가 다시 불붙나…반도체 수요 새 국면? - v.daum.net",
                  "SK하이닉스 주가, 오늘 급락 이유는? - Investing.com 한국어"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -3,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 목표가 하향, 실적 부진, 부진",
                "articles": [
                  "보스턴다이내믹스 누적 손실 1.7조·상장 연기… 현대차, ‘로봇 프리미엄’ 빠졌다 - 조선비즈 - Chosunbiz",
                  "‘내우외환’ 현대차 주가…재상승 위한 조건은? - 한국경제"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 0,
                "label": "중립",
                "summary": "호재: 실적 개선, 기대 | 악재: 하락, 주의",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - 매일경제 마켓",
                  "“지배구조 일단락, 이번엔 주가” 임종룡, 자사주 사들인 배경은 [금융지주 밸류업 점검] - 한국금융신문"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0048,
            "tree_metrics": {
              "avg_auc": 0.7747,
              "avg_accuracy": 0.718
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7726,
              "accuracy": 0.7101
            },
            "relative_strength": [
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 142000,
                "relative_rank_pct": 80,
                "return_5d_pct": 2.9,
                "return_20d_pct": 7.98,
                "rsi": 69.3,
                "position_52w_pct": 70.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "267250",
                "name": "HD현대",
                "price": 226000,
                "relative_rank_pct": 74.6,
                "return_5d_pct": -8.32,
                "return_20d_pct": -3.62,
                "rsi": 54.9,
                "position_52w_pct": 46,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 13290,
                "relative_rank_pct": 65,
                "return_5d_pct": 26.69,
                "return_20d_pct": 2.15,
                "rsi": 61.9,
                "position_52w_pct": 15,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "042700",
                "name": "한미반도체",
                "price": 225000,
                "relative_rank_pct": 63.9,
                "return_5d_pct": -7.98,
                "return_20d_pct": -1.75,
                "rsi": 53.2,
                "position_52w_pct": 41.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "086790",
                "name": "하나금융지주",
                "price": 137500,
                "relative_rank_pct": 61.8,
                "return_5d_pct": 0.51,
                "return_20d_pct": 5.2,
                "rsi": 56.1,
                "position_52w_pct": 91.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "034020",
                "name": "두산에너빌리티",
                "price": 86800,
                "relative_rank_pct": 59.6,
                "return_5d_pct": -3.02,
                "return_20d_pct": 11.42,
                "rsi": 51.3,
                "position_52w_pct": 36.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "price": 111900,
                "relative_rank_pct": 59.6,
                "return_5d_pct": -1.15,
                "return_20d_pct": 5.07,
                "rsi": 57.7,
                "position_52w_pct": 91.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1307,
                "relative_rank_pct": 56.4,
                "return_5d_pct": -1.13,
                "return_20d_pct": -13.73,
                "rsi": 43.1,
                "position_52w_pct": 13.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1712000,
                "relative_rank_pct": 55.4,
                "return_5d_pct": -4.52,
                "return_20d_pct": 3.01,
                "rsi": 51.7,
                "position_52w_pct": 53.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1186,
                "relative_rank_pct": 55.4,
                "return_5d_pct": -17.06,
                "return_20d_pct": -20.3,
                "rsi": 18.2,
                "position_52w_pct": 8.5,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4740,
                "relative_rank_pct": 20,
                "return_5d_pct": 0.42,
                "return_20d_pct": 4.41,
                "rsi": 45.7,
                "position_52w_pct": 28,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005490",
                "name": "POSCO홀딩스",
                "price": 332000,
                "relative_rank_pct": 22.1,
                "return_5d_pct": 1.07,
                "return_20d_pct": 2.31,
                "rsi": 52.2,
                "position_52w_pct": 25.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "price": 363500,
                "relative_rank_pct": 24.3,
                "return_5d_pct": 4.3,
                "return_20d_pct": 3.56,
                "rsi": 54,
                "position_52w_pct": 30.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 20750,
                "relative_rank_pct": 24.3,
                "return_5d_pct": -1.89,
                "return_20d_pct": -8.39,
                "rsi": 41.9,
                "position_52w_pct": 40.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4350,
                "relative_rank_pct": 25.4,
                "return_5d_pct": -0.11,
                "return_20d_pct": 2.47,
                "rsi": 54.6,
                "position_52w_pct": 36.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "009150",
                "name": "삼성전기",
                "price": 1330000,
                "relative_rank_pct": 25.4,
                "return_5d_pct": -2.92,
                "return_20d_pct": -7.64,
                "rsi": 50,
                "position_52w_pct": 51.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1409000,
                "relative_rank_pct": 25.4,
                "return_5d_pct": -2.15,
                "return_20d_pct": -7.97,
                "rsi": 21.6,
                "position_52w_pct": 23.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000270",
                "name": "기아",
                "price": 122300,
                "relative_rank_pct": 25.4,
                "return_5d_pct": -2.47,
                "return_20d_pct": -10.86,
                "rsi": 35.9,
                "position_52w_pct": 19.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "price": 178000,
                "relative_rank_pct": 25.4,
                "return_5d_pct": -2.79,
                "return_20d_pct": -8.95,
                "rsi": 13.3,
                "position_52w_pct": 24.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "price": 270500,
                "relative_rank_pct": 25.4,
                "return_5d_pct": 0.19,
                "return_20d_pct": 0,
                "rsi": 53.4,
                "position_52w_pct": 21.8,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 상승을 설명할 수 있는 자료는 제한적입니다. KOSPI는 6,627.26에서 6,657.15로 29.89포인트 상승했고 KOSDAQ은 806.76으로 마감했습니다. Morning 직전 해외 broad market은 S&P500 -0.45%, Nasdaq -0.78%, Dow -0.63%로 약했지만 SOX +0.40%, NVIDIA +0.57%, AMD +2.19%, QCOM +4.25% 등 반도체 counter-signal은 강했습니다. 이 반도체 반등이 국내 대형 기술주 하방을 일부 완충했을 가능성이 있으나, 장중 종목별 기여도는 확인할 수 없습니다. 원/달러 1,362.68원과 미국 10년물 5.00%, 브렌트 108.35달러·WTI 105.49달러는 부담 요인으로 남았습니다. 실제 장중 breadth, 시가·고가·저가, 거래대금, watchlist 개별 수급은 보존된 자료에 없어 상승 원인을 단일 요인으로 확정하지 않습니다.",
          "data_synthesis": {
            "data_limits": [
              "장중 breadth와 상승·하락 종목 수가 없어 상승의 시장 확산 정도를 확인할 수 없습니다.",
              "watchlist 개별 외국인·기관 수급이 없어 종목별 수급 기여도를 확인할 수 없습니다.",
              "해외·ADR 자료의 기준일이 일부 달라 국내 장 마감과 완전한 동시 비교에는 한계가 있습니다.",
              "FOMC 당일 결과와 그 이후 반응은 Morning 판단에 반영하지 않았습니다."
            ],
            "domestic_market": "Morning 기준 KOSPI 6,627.26, 실제 KOSPI 6,657.15, KOSDAQ 실제 806.76입니다. 실제 KOSPI 방향은 상승이며 기준값 대비 수익률은 0.45101596%입니다.",
            "flows_and_sentiment": "Morning 자료상 KOSPI 외국인 1조5,521억원·기관합계 9,522억원 순매도, KOSDAQ 외국인 272억원·기관 1,214억원 순매수입니다. 공포·탐욕 지수는 51 중립입니다. watchlist 개별 수급과 장중 breadth는 missing입니다.",
            "ml_context": "LightGBM·XGBoost·LSTM이 73개 feature로 50개 상대성과 예측을 생성했습니다. 5-session maturity 전이므로 evaluated 2, pending 459이며, ML은 KOSPI 절대 방향과 독립적인 상대성과 참고 신호입니다.",
            "morning_judgment": "Morning 판단은 하락, confidence 0.74입니다. 국내 추세·수급·환율·유가·금리 부담을 중심에 두고 반도체 반등은 하락폭을 제한하는 counter-signal로 보았습니다.",
            "overseas_and_cross_asset": "S&P500 -0.45%, Nasdaq -0.78%, Dow -0.63%, SOX +0.40%, NVIDIA +0.57%, AMD +2.19%, QCOM +4.25%, 원/달러 1,362.68원, 미국 10년물 5.00%, 브렌트 108.35달러, WTI 105.49달러입니다."
          },
          "failure_analysis": "LLM은 하락을 예측했지만 실제 KOSPI 방향은 상승이므로 평가 결과는 실패입니다. 실패 원인은 국내 약세 신호와 미국 broad market 약세를 지수 전체의 지속 하락으로 확장한 데 있습니다. 반도체 섹터의 반등은 이미 Morning 스냅샷에 있었으므로 국내 대형 기술주가 하방을 완충하거나 지수 방향을 전환할 조건부 시나리오를 더 명확히 분리했어야 합니다. 장중 breadth와 종목별 수급이 없으므로 특정 업종이나 투자 주체가 상승을 만들었다고 단정하지 않습니다. ML은 50개 예측을 생성했지만 5회 관측 전이라 evaluated가 아니며, 이번 LLM 방향 실패의 원인이나 성과 개선 근거로 사용하지 않습니다.",
          "improvement": {
            "action_detail": "국내 추세·수급 약세와 해외 broad market 약세가 반도체·대형주 반등과 충돌할 때, counter-signal을 별도 조건부 시나리오로 평가한 뒤 절대 방향을 결정합니다. 장중 breadth·개별 수급이 없으면 이를 방향 근거로 대체하지 않고 불확실성으로 표시합니다.",
            "action_type": "prompt",
            "expected_impact": "다음 Morning에서 국내 약세 신호와 반도체·대형주 반등 신호의 충돌을 균형 있게 반영하고, 확인되지 않은 장중 기여도를 과잉 추론하지 않도록 합니다.",
            "status": "proposed"
          },
          "rationale_vs_actual": "Morning의 하락 판단은 KOSPI의 전일 약세와 20일선 하회, 외국인·기관 순매도, 원화 약세·고금리·고유가, 미국 주요 지수 약세를 종합한 결과였습니다. 이 신호들은 하방 위험을 설명했지만 당일 절대 방향을 맞히지는 못했습니다. 반면 SOX와 주요 반도체 종목의 반등을 국내 지수에 영향을 줄 수 있는 counter-signal로 기록하면서도 최종 방향 판단에서는 충분히 상향 반영하지 못했습니다. 또한 KOSDAQ이 기준 세션보다 낮았다는 점을 고려하면 실제 상승을 전면적 위험선호 회복으로 해석할 수 없습니다. 이번 오차의 핵심은 국내 추세·수급 약세 신호를 다음 거래일 방향으로 확장한 반면, 반도체 중심의 반대 신호가 지수 구성 종목에 미치는 조건부 영향을 낮게 본 데 있습니다.",
          "summary": "Morning은 KOSPI 절대 방향을 하락으로 전망했으나 실제 KOSPI는 6,657.15로 상승 마감했습니다. Morning 기준값 6,627.26 대비 0.45101596% 상승하여 LLM 방향 판단은 실패했습니다. KOSDAQ은 806.76으로 기준 세션의 812.41보다 낮아, 시장 전체가 동일하게 강해진 장세라기보다 KOSPI 대형주와 일부 업종의 반등이 지수 방향을 바꾼 혼조 흐름으로 봅니다. ML 5일 상대성과 평가는 아직 pending이며 LLM 절대 방향 실패와 섞어 해석하지 않습니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6657.15,
          "kosdaq_close": 806.76,
          "direction": "상승",
          "return_pct": 0.45101596,
          "observed_at": "2026-09-16T16:30:15.744640+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 2,
          "pending_count": 459,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-4e55512c10389feb",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-16/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-16/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-16-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-a625b1b2cc0cb135"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-16-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-16-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-15-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-15",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-8be2658debf00a14",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-15",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "하락",
          "confidence": 0.84,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "f1a8dce874b724042f8325c1669a56ccc42153cf07770bef7c63b3efa3c8bb92",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "rationale",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "국내 약세와 해외 counter-signal을 분리해 평가했으며, 해외 반도체 급락과 위험회피를 하락 근거로 반영했습니다. 종목별 수급·breadth 공백은 방향 근거로 대체하지 않고 불확실성과 확신 제한으로 기록했으며, ML 5일 상대성과는 KOSPI 절대 방향과 분리했습니다."
          },
          "snapshot_cutoff": "2026-09-15T07:31:30.527454+09:00",
          "generated_at": "2026-09-15T07:34:32.996889+09:00",
          "summary": "KOSPI는 6,684.37로 전일 대비 3.26% 급락했고 20일선 대비 이격도도 -1.82%입니다. 미국 주요 지수와 아시아 일부가 약세인 가운데 SOX가 -5.86%, SMH가 -4.75%로 반도체 위험회피가 강해 국내 대형주 부담이 큽니다. 외국인·기관의 전일 KOSPI 순매도도 각각 약 3조 3,375억원과 1조 1,869억원으로 확인됩니다. 금융주·일부 유럽 지수의 상대적 강세는 하락을 일부 상쇄하지만, FOMC를 하루 앞둔 불확실성과 종목별 수급·breadth 공백을 감안하면 절대 방향은 하락으로 판단합니다.",
          "market_summary": "국내 레짐은 명확한 위험회피입니다. KOSPI는 6,684.37(-3.26%), KOSDAQ은 806.79(-1.69%)로 동반 하락했으며, 전체 점검 종목 49개 중 34개 하락·14개 상승·1개 보합으로 하락 종목이 우세합니다. KOSPI의 20일선 대비 이격도는 -1.82%, 최근 변동성은 2.75%입니다.",
          "overseas_market_and_overnight": "해외 counter-signal은 전반적으로 하락 쪽입니다. S&P500 -0.48%, Nasdaq -0.56%, Dow -0.29%였고 SOX는 -5.86% 급락했습니다. NVDA -3.36%, AMD -4.40%, MU -5.25%, SMH -4.75%로 반도체 충격이 국내 대형 기술주에 불리합니다. VIX는 17.1로 7.95% 상승했고, 니케이 -1.93%·항셍 -0.60%도 약세였습니다. 다만 유로 STOXX50 +0.90%, DAX +0.82%, KB금융 ADR +0.66%, 신한지주 ADR +0.06%는 일부 완충 요인입니다.",
          "macro": "미국 CPI의 최신 전년비 상승률은 3.71%, PPI는 9.85%, 실업률은 4.1%입니다. 10년물 금리는 4.96%이며 달러/원은 1,346.41원(-0.13%), DXY는 99.47(+0.35%)입니다. 브렌트유 106.41달러(+1.72%), WTI 101.97달러(+1.92%)로 유가 상승 부담이 있고, 다음 주요 일정은 9월 16일 FOMC입니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 54로 중립이며 최근 10일 중 5일 상승, 거래량 5일/20일 비율 1.03배입니다. 모멘텀 점수는 41, 변동성 점수는 97로 변동성 경고가 강합니다. KOSPI 전일 외국인 순매도는 약 -3조 3,375억원, 기관합계는 약 -1조 1,869억원이며 KOSDAQ도 외국인·기관이 순매도했습니다. 다만 공급 데이터는 시장 단위로만 제공되고 종목별 watchlist 수급은 missing입니다. 뉴스 심리는 삼성바이오로직스·현대차·카카오·리노공업 등에서 부정적이고 금융주·일부 이차전지 종목에는 긍정 신호가 혼재합니다.",
          "ml_summary": "ML은 LightGBM·XGBoost·LSTM 3개 모델이 모두 참여했고 50개 종목을 생성했습니다. 트리 계열 평균 정확도는 0.716, 평균 AUC는 0.7757이며 LSTM AUC는 0.771, 정확도는 0.7015입니다. 5일 상대성과의 평균은 -2.94%이고 50개 중 37개가 음수였습니다. 모델의 시장 편향은 약세이지만 이는 KOSPI 절대 방향 판단과 분리된 상대성과 신호로만 반영합니다.",
          "forecast": "다음 거래일 KOSPI 절대 방향은 하락으로 전망합니다. 반도체 중심 해외 위험회피와 국내 급락·순매도가 이어질 가능성이 우세하나, 중립적인 공포·탐욕 지수와 금융주 ADR 강세가 하락 폭을 일부 제한할 수 있습니다.",
          "rationale": [
            "KOSPI가 6,684.37로 전일 대비 -3.26% 하락했고 20일선 대비 이격도도 -1.82%로 국내 추세가 약합니다.",
            "점검 종목 49개 중 34개가 하락해 시장 전반의 하락 폭이 상승 종목보다 넓습니다.",
            "SOX -5.86%, SMH -4.75%, NVDA -3.36%, AMD -4.40%, MU -5.25%로 국내 반도체·대형 기술주에 불리한 해외 counter-signal이 확인됩니다.",
            "VIX가 17.1로 7.95% 상승했고 니케이 -1.93%, 항셍 -0.60%로 아시아 위험회피도 동반됐습니다.",
            "전일 KOSPI 외국인과 기관합계가 각각 약 -3조 3,375억원과 -1조 1,869억원 순매도했습니다.",
            "변동성 점수 97, KOSPI 20일 변동성 2.75%로 단기 충격과 추가 흔들림 위험이 높습니다.",
            "유로 STOXX50 +0.90%, DAX +0.82%, KB금융·신한지주 ADR의 소폭 강세는 하락을 일부 상쇄하는 반대 신호입니다.",
            "ML 5일 상대성과는 50개 중 37개가 음수지만, 이를 KOSPI 절대 방향의 단독 근거로 사용하지 않았습니다."
          ],
          "observation_points": [
            "KOSPI 6,684.37 및 20일선 이격도 -1.82%",
            "SOX -5.86%와 SMH -4.75%의 반도체 위험선호 변화",
            "외국인·기관 KOSPI 순매도 지속 여부",
            "VIX 17.1 및 국내 변동성 2.75%",
            "9월 16일 FOMC 전후 금리·달러·원유 반응",
            "종목별 수급과 breadth가 재개될 때의 하락 확산 여부"
          ],
          "uncertainties": [
            "종목별 외국인·기관 수급은 공급 데이터 제공 범위가 시장 단위라 missing입니다.",
            "장중 breadth와 실시간 수급은 Morning 스냅샷에 없어 방향 근거로 대체하지 않았습니다.",
            "FOMC 결과와 이후 금리·환율 반응은 아직 발생하지 않아 선반영 정도를 확인할 수 없습니다.",
            "공포·탐욕 지수는 중립(54)이고 유럽·금융주 일부가 강해 일방적 하락 확신에는 제한이 있습니다.",
            "ML 평가는 5일 상대성과의 성숙 전 신호를 포함하므로 절대 시장 방향의 확률이나 보장으로 해석하지 않습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-15/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6684.37,
              "change_pct": -3.26,
              "sma20": 6808.53,
              "disparity_20_pct": null,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "kosdaq": {
              "close": 806.79,
              "change_pct": -1.69,
              "sma20": null,
              "disparity_20_pct": -1.83,
              "sentiment": 40,
              "sentiment_signal": "비관"
            },
            "fear_greed_score": 54,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 41,
                "value": -1.82,
                "description": "KOSPI 20일선 대비 -1.82%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 97,
                "value": 2.75,
                "description": "KOSPI 20일 변동성 2.75%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 50,
                "value": 5,
                "description": "최근 10일 중 5일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 39,
                "value": -1.82,
                "description": "20일 이격도 -1.82%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 35,
                "value": 1.03,
                "description": "거래량 5일/20일 비율 1.03x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 52,
                "value": null,
                "description": "52주高 근접 2개, 低 근접 0개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-14",
              "collected_at": "2026-09-14T22:30:56.810310+00:00",
              "hash": "5c62a4bdf156ee7adaaecdf31b279c480eb71dca50a46af4b584166b0343b821",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-14"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-14"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-14"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-14"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -3337504400011,
                  "unit": "KRW",
                  "display_value": -33375.04400011,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-14",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -1186864099559,
                  "unit": "KRW",
                  "display_value": -11868.64099559,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-14",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -92349401443,
                  "unit": "KRW",
                  "display_value": -923.49401443,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-14",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -23783597895,
                  "unit": "KRW",
                  "display_value": -237.83597895,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-14",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-14",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 70,
                  "close": 140400,
                  "change_pct": 1.89,
                  "rsi": 60,
                  "macd_hist": 220.682,
                  "bb_pband": 0.88,
                  "vol_ratio": 1,
                  "pct_52w_high": -1.5,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 68,
                  "close": 1402000,
                  "change_pct": -0.92,
                  "rsi": 37.6,
                  "macd_hist": -16749.406,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -29.4,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.08)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "068270",
                  "name": "셀트리온",
                  "score": 68,
                  "close": 177000,
                  "change_pct": -0.67,
                  "rsi": 33.9,
                  "macd_hist": -1840.158,
                  "bb_pband": -0.02,
                  "vol_ratio": 1,
                  "pct_52w_high": -26,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(34)",
                    "BB하단(-0.02)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 68,
                  "close": 258000,
                  "change_pct": -3.73,
                  "rsi": 37.9,
                  "macd_hist": -6782.781,
                  "bb_pband": 0,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -41.1,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.00)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 115000,
                  "change_pct": 1.86,
                  "rsi": 61.3,
                  "macd_hist": 275.399,
                  "bb_pband": 0.89,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -1.3,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 65,
                  "close": 50900,
                  "change_pct": -4.5,
                  "rsi": 55.6,
                  "macd_hist": 96.298,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -44.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 65,
                  "close": 85600,
                  "change_pct": -5.73,
                  "rsi": 54,
                  "macd_hist": 657.13,
                  "bb_pband": 0.63,
                  "vol_ratio": 1,
                  "pct_52w_high": -38.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 125500,
                  "change_pct": -6.97,
                  "rsi": 53.9,
                  "macd_hist": 583.166,
                  "bb_pband": 0.6,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -36.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 55600,
                  "change_pct": -3.64,
                  "rsi": 53,
                  "macd_hist": 335.201,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.2,
                  "pct_52w_high": -39,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035250",
                  "name": "강원랜드",
                  "score": 65,
                  "close": 14800,
                  "change_pct": 0,
                  "rsi": 55.4,
                  "macd_hist": 18.048,
                  "bb_pband": 0.76,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -24.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 60,
                  "close": 203000,
                  "change_pct": -1.69,
                  "rsi": 41.8,
                  "macd_hist": -1686.359,
                  "bb_pband": 0.01,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -33.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.01)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 60,
                  "close": 531000,
                  "change_pct": -2.57,
                  "rsi": 52.3,
                  "macd_hist": -3261.583,
                  "bb_pband": 0.47,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -26.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 60,
                  "close": 673000,
                  "change_pct": -1.9,
                  "rsi": 54,
                  "macd_hist": -222.502,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -11.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 60,
                  "close": 111500,
                  "change_pct": -0.89,
                  "rsi": 46.4,
                  "macd_hist": -1067.61,
                  "bb_pband": 0.25,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -40,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29650,
                  "change_pct": 2.42,
                  "rsi": 61.6,
                  "macd_hist": 79.473,
                  "bb_pband": 0.72,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 215500,
                  "change_pct": -3.15,
                  "rsi": 43.1,
                  "macd_hist": -2929.6,
                  "bb_pband": -0.02,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -44.5,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(-0.02)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 132000,
                  "change_pct": 2.8,
                  "rsi": 60.6,
                  "macd_hist": 246.045,
                  "bb_pband": 0.77,
                  "vol_ratio": 1,
                  "pct_52w_high": -11.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "036570",
                  "name": "엔씨소프트",
                  "score": 58,
                  "close": 204000,
                  "change_pct": -0.73,
                  "rsi": 32.4,
                  "macd_hist": -1542.902,
                  "bb_pband": -0.04,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -40.6,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(32)",
                    "BB하단(-0.04)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1683000,
                  "change_pct": -7.12,
                  "rsi": 47.9,
                  "macd_hist": 19973.296,
                  "bb_pband": 0.45,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -43.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 55,
                  "close": 64200,
                  "change_pct": -3.31,
                  "rsi": 41.7,
                  "macd_hist": 212.411,
                  "bb_pband": 0.12,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -50.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                }
              ],
              "gainers": [
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 50,
                  "close": 36800,
                  "change_pct": 4.84,
                  "rsi": 67.9,
                  "macd_hist": 186.512,
                  "bb_pband": 1.16,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -11.3,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.16)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 132000,
                  "change_pct": 2.8,
                  "rsi": 60.6,
                  "macd_hist": 246.045,
                  "bb_pband": 0.77,
                  "vol_ratio": 1,
                  "pct_52w_high": -11.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 50,
                  "close": 144400,
                  "change_pct": 2.78,
                  "rsi": 59.5,
                  "macd_hist": -893.298,
                  "bb_pband": 0.69,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -14.6,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29650,
                  "change_pct": 2.42,
                  "rsi": 61.6,
                  "macd_hist": 79.473,
                  "bb_pband": 0.72,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 70,
                  "close": 140400,
                  "change_pct": 1.89,
                  "rsi": 60,
                  "macd_hist": 220.682,
                  "bb_pband": 0.88,
                  "vol_ratio": 1,
                  "pct_52w_high": -1.5,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 115000,
                  "change_pct": 1.86,
                  "rsi": 61.3,
                  "macd_hist": 275.399,
                  "bb_pband": 0.89,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -1.3,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 50,
                  "close": 181200,
                  "change_pct": 1.85,
                  "rsi": 61.7,
                  "macd_hist": 970.48,
                  "bb_pband": 1,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -6.8,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.00)",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "011200",
                  "name": "HMM",
                  "score": 50,
                  "close": 21100,
                  "change_pct": 1.2,
                  "rsi": 49.2,
                  "macd_hist": -109.19,
                  "bb_pband": 0.34,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -15.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 48,
                  "close": 46800,
                  "change_pct": 1.19,
                  "rsi": 54.8,
                  "macd_hist": -7.882,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -40.9,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 40,
                  "close": 21600,
                  "change_pct": 1.17,
                  "rsi": 47,
                  "macd_hist": -23.479,
                  "bb_pband": 0.43,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -26.8,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "losers": [
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1683000,
                  "change_pct": -7.12,
                  "rsi": 47.9,
                  "macd_hist": 19973.296,
                  "bb_pband": 0.45,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -43.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 125500,
                  "change_pct": -6.97,
                  "rsi": 53.9,
                  "macd_hist": 583.166,
                  "bb_pband": 0.6,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -36.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 45,
                  "close": 103500,
                  "change_pct": -6.17,
                  "rsi": 43.9,
                  "macd_hist": 55.416,
                  "bb_pband": 0.14,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -59.6,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 65,
                  "close": 85600,
                  "change_pct": -5.73,
                  "rsi": 54,
                  "macd_hist": 657.13,
                  "bb_pband": 0.63,
                  "vol_ratio": 1,
                  "pct_52w_high": -38.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 28,
                  "close": 1322000,
                  "change_pct": -5.57,
                  "rsi": 45.5,
                  "macd_hist": -2219.11,
                  "bb_pband": 0.12,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -45.3,
                  "alignment": "역배열",
                  "reasons": [
                    "MACD데드",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 55,
                  "close": 558000,
                  "change_pct": -4.62,
                  "rsi": 47.1,
                  "macd_hist": 3112.293,
                  "bb_pband": 0.36,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -36.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 48,
                  "close": 176900,
                  "change_pct": -4.53,
                  "rsi": 50.9,
                  "macd_hist": -523.855,
                  "bb_pband": 0.48,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -40.9,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 65,
                  "close": 50900,
                  "change_pct": -4.5,
                  "rsi": 55.6,
                  "macd_hist": 96.298,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -44.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 48,
                  "close": 397000,
                  "change_pct": -4.45,
                  "rsi": 30.7,
                  "macd_hist": -3929.581,
                  "bb_pband": 0.14,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -51.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(31)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 38,
                  "close": 248500,
                  "change_pct": -4.24,
                  "rsi": 44.5,
                  "macd_hist": -135.121,
                  "bb_pband": 0.13,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -33.6,
                  "alignment": "혼조",
                  "reasons": [
                    "MACD데드"
                  ],
                  "is_watchlist": true
                }
              ],
              "highs_52w": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 115000,
                  "change_pct": 1.86,
                  "rsi": 61.3,
                  "macd_hist": 275.399,
                  "bb_pband": 0.89,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -1.3,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 70,
                  "close": 140400,
                  "change_pct": 1.89,
                  "rsi": 60,
                  "macd_hist": 220.682,
                  "bb_pband": 0.88,
                  "vol_ratio": 1,
                  "pct_52w_high": -1.5,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                }
              ]
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7619.98,
              "change_pct": -0.48,
              "date": "2026-09-14"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26186.41,
              "change_pct": -0.56,
              "date": "2026-09-14"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52421.2,
              "change_pct": -0.29,
              "date": "2026-09-14"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11131.28,
              "change_pct": -5.86,
              "date": "2026-09-14"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 210.96,
              "change_pct": -3.36,
              "date": "2026-09-14"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 493.41,
              "change_pct": -4.4,
              "date": "2026-09-14"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 924.03,
              "change_pct": -5.25,
              "date": "2026-09-14"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 180.15,
              "change_pct": -1,
              "date": "2026-09-14"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 97.19,
              "change_pct": -5.59,
              "date": "2026-09-14"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 17.1,
              "change_pct": 7.95,
              "date": "2026-09-14"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 22.05,
              "change_pct": 4.9,
              "date": "2026-09-14"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.96,
              "change_pct": -0.28,
              "date": "2026-09-14"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1346.41,
              "change_pct": -0.13,
              "date": "2026-09-14"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 154.35,
              "change_pct": -0.08,
              "date": "2026-09-14"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 99.47,
              "change_pct": 0.35,
              "date": "2026-09-14"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 106.41,
              "change_pct": 1.72,
              "date": "2026-09-14"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 101.97,
              "change_pct": 1.92,
              "date": "2026-09-14"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4336.2,
              "change_pct": -1.65,
              "date": "2026-09-14"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 64011.34,
              "change_pct": -1.93,
              "date": "2026-09-11"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 24805.63,
              "change_pct": -0.6,
              "date": "2026-09-11"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6325.13,
              "change_pct": 0.9,
              "date": "2026-09-11"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25568.56,
              "change_pct": 0.82,
              "date": "2026-09-11"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 709.18,
              "change_pct": -0.8,
              "date": "2026-09-14"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 541.5,
              "change_pct": -4.75,
              "date": "2026-09-14"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 59.64,
              "change_pct": -5.24,
              "date": "2026-09-14"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 132.88,
              "change_pct": 0.66,
              "date": "2026-09-14"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 84.11,
              "change_pct": 0.06,
              "date": "2026-09-14"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.56,
              "change_pct": -5.32,
              "date": "2026-09-14"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.97,
              "change_pct": 0.35,
              "date": "2026-09-14"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 36.32,
              "change_pct": -4.09,
              "date": "2026-09-14"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 334.131,
                "latest_date": "2026-08-01",
                "yoy_pct": 3.71,
                "mom_pct": 0.4
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 1
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 25
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 31
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 51
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 59
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 73
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 87
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 92
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 28,
                "label": "긍정",
                "summary": "호재: 급등, 반등, 회복 | 악재: 하락, 적자, 우려",
                "articles": [
                  "LG화학 투자분석 2026. 09. 12 - 주달",
                  "반토막 났던 주식이 하루 만에 급등…정유·화학주 반등 시도 - 한국경제"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 성장, 기대감 | 악재: 급락, 경고, 하락",
                "articles": [
                  "HPSP 주가, 9월 14일 장중 53,300원 0.00% 보합세 - 톱스타뉴스",
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 신고가, 기대, 상승 | 악재: 하락, 매각",
                "articles": [
                  "삼성SDI, ‘실적 저점 통과 기대’ 52주 신고가…목표가 줄상향 ‘100만원’까지 - kukinews.com",
                  "AI주식상승확률분석 : 삼성SDI (006400) 주가 전망과 상승확률 분석 - Investing.com 한국어"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 주주환원, 확대",
                "articles": [
                  "KB금융 이재근 등판 속...실적 전망은?, 장중 주가는? - 초이스경제",
                  "신한금융지주, KB금융·하나금융 줄인 캐피털그룹, 3대주주로 - PRESS9"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 실적 개선, 최대실적 | 악재: 주의",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - 매일경제 마켓",
                  "“지배구조 일단락, 이번엔 주가” 임종룡, 자사주 사들인 배경은 [금융지주 밸류업 점검] - 한국금융신문"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": 12,
                "label": "중립",
                "summary": "호재: 매수, 기대감, 순매수 | 악재: 하락",
                "articles": [
                  "주가 내려도 개인 순매수 2위···알테오젠 저력은 ‘중장기 실적 기대감’ - 시사저널e",
                  "신한증권, 알테오젠 목표가↓…\"노바티스 신약 1개 3상 실패\" - 연합뉴스"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 9,
                "label": "중립",
                "summary": "호재: 목표가 상향, 주주환원, 기대감 | 악재: 급락, 조정",
                "articles": [
                  "흥국증권 \"삼성물산, 실적과 주주환원에 재평가…목표가 상향\" - 연합뉴스",
                  "삼성전자보다 주가 더 빠진 삼성물산⋯'역대급 배당' 반전되나 - v.daum.net"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 6,
                "label": "중립",
                "summary": "호재: 자사주 매입, 주주환원, 매수 | 악재: 급락, 하락",
                "articles": [
                  "셀트리온, 시밀러 시장서 도약...2026년 실적·주가 분수령 - 증권일보",
                  "셀트리온 \"매년 순이익 3분의 1 주주환원\" 1000억원 자사주 매입... 주가는 - 조선일보"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -28,
                "label": "부정",
                "summary": "호재: 반등, 성장 | 악재: 조정, 약세, 우려",
                "articles": [
                  "리노공업, 주가 조정 끝내고 반등 준비...AI 반도체가 다시 모멘텀 - 증권일보",
                  "리노공업 주가 최근 5거래일 6만원 후반대 약세 마감 - 톱스타뉴스"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -21,
                "label": "부정",
                "summary": "호재: 수주 | 악재: 유상증자, 급락, 약세",
                "articles": [
                  "당국 문턱 넘은 삼성바이오로직스…3조 유상증자 조달 청신호 | - news.einfomax.co.kr",
                  "현금 2조 원 삼성바이오로직스 3조 원 유증…주가 7% 급락 - 자본시장뉴스"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -18,
                "label": "부정",
                "summary": "악재: 실적 부진, 부진, 하락",
                "articles": [
                  "“언제부턴지 주식창 안 켜는게 편하네요”...외국인, 하루 3.2조원 왜 던졌나 - 매일경제 마켓",
                  "현대차 목표가 6월 말 대비 최대 36%↓…실적 부진·파업 여파 - 조세일보"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -18,
                "label": "부정",
                "summary": "호재: 호재, 상승 | 악재: 폭락, 악재, 하락",
                "articles": [
                  "카카오 인적분할 가시밭길… 주가폭락에, 개미 반발 거세 - IT조선",
                  "[공시학개론] 호재로 불리던 인적분할...카카오 사태서 악재인 이유는? - 아주경제"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": -12,
                "label": "중립",
                "summary": "호재: 기대 | 악재: 하락, 목표가 하향, 불확실",
                "articles": [
                  "\"이러다 공모가도 볼 판\"…흑자에도 주가 떨어지자 '한숨' [종목+] - 한국경제",
                  "현 주가도 비싸다…LS證 \"LG엔솔 적정가 39만7천원\" - news.einfomax.co.kr"
                ]
              },
              {
                "ticker": "000270",
                "name": "기아",
                "score": -9,
                "label": "중립",
                "summary": "호재: 성장, 기대 | 악재: 하락, 약세, 급락",
                "articles": [
                  "[증시다트] 현대차·기아 목표가 동반 상향…실적 온도차에도 ‘로봇 프리미엄’ 커졌다 - :: 위즈경제 ::",
                  "“中 전기차도 미국서 만들면 괜찮다”…현대차·기아 3~4%대 약세 [이런국장 저런주식] - 서울경제"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -9,
                "label": "중립",
                "summary": "악재: 하락, 급락",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - news.einfomax.co.kr",
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - 연합뉴스"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": -6,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 급락, 하락",
                "articles": [
                  "SOXL -16%, 반도체 주식 급락 대응 전략 - 네이버 프리미엄콘텐츠"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 0,
                "label": "중립",
                "summary": "호재: 상승, 주주환원 | 악재: 급락, 하락",
                "articles": [
                  "삼성전자 ‘27만원’·SK하이닉스 ‘148만원’...BNK “주가 상단 제한적” - v.daum.net",
                  "SK하이닉스 주가, 오늘 급락 이유는? - Investing.com 한국어"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0058,
            "tree_metrics": {
              "avg_auc": 0.7757,
              "avg_accuracy": 0.716
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.771,
              "accuracy": 0.7015
            },
            "relative_strength": [
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 9080,
                "relative_rank_pct": 80,
                "return_5d_pct": 2.95,
                "return_20d_pct": -5.22,
                "rsi": 51.3,
                "position_52w_pct": 12.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "402340",
                "name": "SK스퀘어",
                "price": 1000000,
                "relative_rank_pct": 79.2,
                "return_5d_pct": -11.11,
                "return_20d_pct": -13.34,
                "rsi": 43.6,
                "position_52w_pct": 41.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1683000,
                "relative_rank_pct": 78.3,
                "return_5d_pct": -5.61,
                "return_20d_pct": 2.31,
                "rsi": 50.4,
                "position_52w_pct": 52.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 133900,
                "relative_rank_pct": 77.5,
                "return_5d_pct": -2.9,
                "return_20d_pct": 4.04,
                "rsi": 55.2,
                "position_52w_pct": 60,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "034020",
                "name": "두산에너빌리티",
                "price": 85600,
                "relative_rank_pct": 74.2,
                "return_5d_pct": -2.62,
                "return_20d_pct": 3.63,
                "rsi": 55.8,
                "position_52w_pct": 34.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1146,
                "relative_rank_pct": 60,
                "return_5d_pct": -19.18,
                "return_20d_pct": -24.16,
                "rsi": 10.5,
                "position_52w_pct": 6.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "015760",
                "name": "한국전력",
                "price": 31850,
                "relative_rank_pct": 57.5,
                "return_5d_pct": -2.75,
                "return_20d_pct": -4.21,
                "rsi": 46.7,
                "position_52w_pct": 3.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "042700",
                "name": "한미반도체",
                "price": 226000,
                "relative_rank_pct": 56.7,
                "return_5d_pct": -6.03,
                "return_20d_pct": -1.31,
                "rsi": 54.9,
                "position_52w_pct": 41.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 13160,
                "relative_rank_pct": 55,
                "return_5d_pct": 22.53,
                "return_20d_pct": -2.95,
                "rsi": 61.8,
                "position_52w_pct": 14.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005935",
                "name": "삼성전자우",
                "price": 183200,
                "relative_rank_pct": 53.3,
                "return_5d_pct": -8.22,
                "return_20d_pct": -6.34,
                "rsi": 41.4,
                "position_52w_pct": 67.9,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "010140",
                "name": "삼성중공업",
                "price": 22100,
                "relative_rank_pct": 20,
                "return_5d_pct": 3.27,
                "return_20d_pct": -0.9,
                "rsi": 64.8,
                "position_52w_pct": 21.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012450",
                "name": "한화에어로스페이스",
                "price": 1133000,
                "relative_rank_pct": 26.7,
                "return_5d_pct": 9.05,
                "return_20d_pct": -2.33,
                "rsi": 54.1,
                "position_52w_pct": 40.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "316140",
                "name": "우리금융지주",
                "price": 36800,
                "relative_rank_pct": 27.5,
                "return_5d_pct": 7.6,
                "return_20d_pct": 9.2,
                "rsi": 73.6,
                "position_52w_pct": 73.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012330",
                "name": "현대모비스",
                "price": 397000,
                "relative_rank_pct": 28.3,
                "return_5d_pct": -8.1,
                "return_20d_pct": -27.42,
                "rsi": 15.9,
                "position_52w_pct": 21.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005490",
                "name": "POSCO홀딩스",
                "price": 321500,
                "relative_rank_pct": 28.3,
                "return_5d_pct": -4.17,
                "return_20d_pct": -3.74,
                "rsi": 43.9,
                "position_52w_pct": 22.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4390,
                "relative_rank_pct": 29.2,
                "return_5d_pct": 1.27,
                "return_20d_pct": 0.57,
                "rsi": 62.9,
                "position_52w_pct": 38.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "066570",
                "name": "LG전자",
                "price": 194900,
                "relative_rank_pct": 29.2,
                "return_5d_pct": -8.93,
                "return_20d_pct": -9.35,
                "rsi": 46.2,
                "position_52w_pct": 33.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "price": 267500,
                "relative_rank_pct": 29.2,
                "return_5d_pct": -4.29,
                "return_20d_pct": -4.63,
                "rsi": 52.3,
                "position_52w_pct": 20.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "298040",
                "name": "효성중공업",
                "price": 2791000,
                "relative_rank_pct": 30,
                "return_5d_pct": -5.87,
                "return_20d_pct": -5.52,
                "rsi": 51.3,
                "position_52w_pct": 45.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4780,
                "relative_rank_pct": 30.8,
                "return_5d_pct": 1.7,
                "return_20d_pct": 0.53,
                "rsi": 57.4,
                "position_52w_pct": 28.8,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 종가는 6,701.94로 기준값보다 17.57포인트 상승했습니다. Morning 스냅샷의 해외 반도체 위험회피와 국내 전일 급락·시장 단위 순매도는 하락 위험을 설명하는 요인이었지만, 실제 장에서는 금융주와 일부 방어·개별 종목의 강세가 지수 하락 압력을 상쇄했습니다. 입력 자료에서 확인 가능한 종목 흐름도 KB금융 +1.85%, 신한지주 +1.86%, 우리금융지주 +4.84%, 하나금융지주 +1.89%인 반면 삼성전자 -4.24%, SK하이닉스 -7.12%, 현대차 -3.92%로 엇갈렸습니다. 따라서 실제 상승은 전면적인 위험선호 회복이라기보다 지수 구성 종목 간 상대 강도와 금융주 방어력이 반도체 충격을 흡수한 결과로 해석합니다. 장중 breadth와 실시간 수급의 직접 관측값은 보존된 Morning 스냅샷에 없어 그 기여도는 확정하지 않습니다.",
          "data_synthesis": "국내 실제 종가: KOSPI 6,701.94, KOSDAQ 820.63. 기준 KOSPI: 6,684.37. 실제 방향: 상승. 실제 수익률: 0.262852%. Morning 기준 국내 시장은 KOSPI -3.26%, KOSDAQ -1.69%, 49개 점검 종목 중 34개 하락·14개 상승·1개 보합이었습니다. 해외는 S&P500 -0.48%, Nasdaq -0.56%, Dow -0.29%, SOX -5.86%, SMH -4.75%, VIX +7.95%였습니다. 매크로·이벤트는 9월 16일 FOMC 예정, CPI 3.71%, PPI 9.85%, 실업률 4.1%, 10년물 4.96%, 달러/원 1,346.41원, 브렌트유 106.41달러였습니다. 공포·탐욕은 54 중립, 모멘텀 41, 변동성 97이었습니다. 수급은 KOSPI 외국인 약 -3조 3,375억원, 기관합계 약 -1조 1,869억원, KOSDAQ 외국인·기관도 순매도였으며 종목별 watchlist 수급은 provider 범위 밖이라 missing입니다. ML은 LightGBM·XGBoost·LSTM 3개 모델이 참여해 50개 예측을 생성했으나 5-session maturity 전으로 evaluated 0, pending 411입니다.",
          "failure_analysis": "LLM 판단은 하락을 예측했지만 실제 방향은 상승이므로 평가 결과는 실패입니다. 실패 원인은 반도체와 해외 위험회피 신호를 국내 지수 전체의 지속 하락으로 확장한 데 있습니다. 시장 단위 수급은 전일 외국인·기관 순매도로 약세였으나, 종목별 장중 breadth와 실시간 수급은 관측되지 않았습니다. 이 공백을 하락 근거로 대체하지 않고 불확실성으로 남겼어야 하며, 금융주처럼 지수에 영향을 주는 반대 그룹의 상대 강도를 별도 시나리오로 평가했어야 합니다. ML의 5일 상대성과는 50개 중 37개가 음수이고 평균 -2.94%였지만, 5회 관측 전이라 pending이며 KOSPI 절대 방향 실패의 원인이나 개선 근거로 사용하지 않습니다.",
          "improvement": {
            "reason": "실제 상승과 Morning 하락 판단의 불일치는 확인했으나, ML 성과는 아직 pending이고 장중 breadth·종목별 수급은 관측되지 않았습니다. 확인되지 않은 원인이나 모델 변경을 제안하지 않습니다.",
            "status": "none"
          },
          "rationale_vs_actual": "Morning의 하락 판단은 KOSPI 기준값의 -3.26% 약세, 20일선 이격도 -1.82%, SOX -5.86%와 SMH -4.75%의 반도체 충격, VIX 상승, 전일 외국인·기관 순매도에 근거했습니다. 이 신호들은 하락 위험을 포착했지만 다음 거래일의 절대 방향을 맞히지는 못했습니다. 반대로 금융주 ADR 및 국내 금융주의 상대 강세, 공포·탐욕 지수 54의 중립 상태, 하락 업종과 상승 업종의 공존을 방향 결정에서 충분히 낮은 비중으로 반영한 점이 오판의 핵심입니다. 결과적으로 국내 추세 약세와 해외 counter-signal을 모두 확인했지만, 반대 신호가 지수 수준에서 실제로 작동할 가능성을 과소평가했습니다.",
          "summary": "Morning은 KOSPI 절대 방향을 하락으로 전망했으나 실제 KOSPI는 6,701.94로 상승 마감했습니다. 기준값 6,684.37 대비 실제 수익률은 0.262852%이며, LLM 판단은 방향 기준으로 실패했습니다. 다만 장중 실제 상승이 Morning의 하락 근거를 완전히 무효화한 것은 아니며, 국내 반도체·자동차 약세와 금융주 강세가 공존한 차별화 장세로 정리합니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6701.94,
          "kosdaq_close": 820.63,
          "direction": "상승",
          "return_pct": 0.262852,
          "observed_at": "2026-09-15T16:30:46.909490+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 411,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-8451a5c133aecd2c",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-15/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-15/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-15-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-8be2658debf00a14"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-15-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-15-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-14-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-14",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-96b9f832be8c74a1",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-14",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": true,
          "failure": false,
          "market": "KOSPI",
          "direction": "하락",
          "confidence": 0.68,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "244489422b4f26fa2cecf2343151e4a4a49736848c64b3abecc232477ebb4320",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "confidence",
              "rationale",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "국내 절대 방향과 ML 5일 상대성과를 분리하고, 국내 과열·되돌림 위험과 수급·breadth 공백을 불확실성으로 반영해 하락 판단의 확신을 제한했습니다."
          },
          "snapshot_cutoff": "2026-09-14T07:31:47.121715+09:00",
          "generated_at": "2026-09-14T07:34:50.869268+09:00",
          "summary": "KOSPI는 6,909.91로 전 거래일 대비 1.76% 하락했고, 20일선 대비 1.27% 높은 과열 부담과 탐욕지수 62가 조정 위험을 키우고 있습니다. 미국 증시와 SOX는 각각 0.86~0.98%, 1.81% 반등하고 VIX는 15.84로 11.21% 하락했지만, 일본·홍콩은 1.93%, 0.60% 하락해 해외 신호가 엇갈립니다. 외국인과 기관의 KOSPI 순매도, 대형주·2차전지 중심의 약한 뉴스 심리가 국내 하방을 우세하게 보이게 하며, 9월 16일 FOMC와 유가 상승은 변동성 요인입니다.",
          "market_summary": "KOSPI 종가는 6,909.91로 -1.76%, KOSDAQ은 820.64로 -1.95% 하락했습니다. KOSPI는 20일선 6,823.21보다 1.27% 높고 최근 10일 중 6일 상승했지만, 당일 조정과 변동성 2.71%가 함께 나타나 단기 되돌림 부담이 있습니다.",
          "overseas_market_and_overnight": "미국은 S&P500 7,656.98(+0.86%), 나스닥 26,333.04(+0.96%), 다우 +0.98%, SOX 11,824(+1.81%)로 위험선호를 보였고 QQQ +0.87%, SMH +1.47%, AMD +2.49%가 반도체 반등을 지지했습니다. 반면 니케이225 -1.93%, 항셍 -0.60%로 아시아는 약했고, 원/달러 1,342.97(-0.39%)는 우호적이지만 해외 신호는 혼조입니다.",
          "macro": "미국 CPI는 전년 대비 3.71%, 전월 대비 0.40%, PPI는 전년 대비 9.85%, 전월 대비 0.96%, 실업률은 4.1%입니다. 10년물 금리는 4.97%로 0.63% 상승했고 브렌트유 107.79달러(+3.04%), WTI 102.81달러(+2.76%)로 비용·금리 부담이 있습니다. 9월 16일 FOMC가 이틀 앞으로 다가와 정책 불확실성이 큽니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 62(탐욕)이지만 거래량 5일/20일 비율은 0.99배이고 KOSPI는 당일 -1.76%여서 낙관과 가격 조정이 충돌합니다. 9월 11일 기준 KOSPI 외국인 순매도 약 2조 2,984억원, 기관 순매도 약 1조 2,184억원이었습니다. 뉴스 심리는 삼성전자 중립(3), SK하이닉스 중립(-6), LG에너지솔루션 부정(-15), 기아 부정(-21)인 반면 삼성SDI 긍정(21), 신한지주 긍정(18)으로 종목별 편차가 큽니다.",
          "ml_summary": "ML은 73개 feature와 LightGBM·XGBoost·LSTM을 사용했고, Tree 평균 AUC 0.7771·정확도 0.7193, LSTM AUC 0.7769·정확도 0.709입니다. 50종목 모두 시장 편향은 약세이며, 5일 상대성과 상위에는 삼성SDI 80%, SK이노베이션 76%, 두산에너빌리티 62%가 있으나 이는 KOSPI 절대 방향이 아닌 상대 초과성과 신호입니다.",
          "forecast": "기본 시나리오는 국내 과열 부담과 수급 약세가 해외 위험선호 반등을 상쇄해 KOSPI 하락입니다. 다만 SOX·미국 지수 반등과 원화 강세가 하락폭을 제한할 수 있어 일방적 하락보다는 변동성 높은 조정으로 봅니다.",
          "rationale": [
            "KOSPI가 6,909.91로 전일 대비 1.76% 하락했고 KOSDAQ도 1.95% 하락해 국내 지수 동반 약세가 확인됩니다.",
            "KOSPI가 20일선보다 1.27% 높고 탐욕지수 62인 상태에서 조정이 발생해 단기 과열·되돌림 위험이 있습니다.",
            "외국인 약 2조 2,984억원, 기관 약 1조 2,184억원의 KOSPI 순매도가 국내 수급을 약화시키는 요인입니다.",
            "삼성전자 -3.53%, SK하이닉스 -2.21%, LG에너지솔루션 -1.37% 등 주요 대형·성장주 약세가 지수 부담으로 작용했습니다.",
            "미국 S&P500·나스닥이 0.86%, 0.96%, SOX가 1.81% 반등하고 VIX가 15.84로 11.21% 하락한 점은 하락을 상쇄하는 해외 counter-signal입니다.",
            "니케이225 -1.93%, 항셍 -0.60%로 아시아 흐름은 약했고, 10년물 4.97% 상승과 브렌트유 107.79달러 상승은 위험 요인입니다.",
            "ML 50종목의 시장 편향은 모두 약세지만 5일 상대성과 순위는 종목 간 차이를 보여 절대 하락 판단과 분리해야 합니다."
          ],
          "observation_points": [
            "KOSPI 6,909.91 및 20일선 6,823.21 대비 이격도 1.27%",
            "외국인·기관 KOSPI 순매수 전환 여부",
            "SOX 11,824와 미국 선물·아시아 증시의 반등 지속 여부",
            "원/달러 1,342.97 및 미국 10년물 4.97%",
            "9월 16일 FOMC 전후 금리·변동성 반응",
            "반도체·2차전지 대형주의 breadth와 거래량 회복 여부"
          ],
          "uncertainties": [
            "장중 breadth와 실시간 외국인·기관 수급은 스냅샷에 없어 9월 11일 확정 수급으로 대체했으며 방향 근거가 아닌 불확실성으로 처리했습니다.",
            "해외 자료의 주요 지수 기준일은 대부분 9월 11일이고 원자재·환율은 9월 13일이어서 9월 14일 장중 상황과 시차가 있습니다.",
            "관심종목별 외국인·기관 수급은 공급자 범위 제한으로 누락되어 종목 단위 수급 확인은 불가합니다.",
            "해외 반등이 국내 개장 후에도 이어질지와 FOMC 경계가 실제 위험선호를 얼마나 제한할지는 확인되지 않았습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-14/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6909.91,
              "change_pct": -1.76,
              "sma20": 6823.21,
              "disparity_20_pct": null,
              "sentiment": 60,
              "sentiment_signal": "낙관"
            },
            "kosdaq": {
              "close": 820.64,
              "change_pct": -1.95,
              "sma20": null,
              "disparity_20_pct": -0.5,
              "sentiment": 40,
              "sentiment_signal": "비관"
            },
            "fear_greed_score": 62,
            "fear_greed_label": "탐욕",
            "fear_greed_advice": "낙관 구간, 분할 매도 고려",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 56,
                "value": 1.27,
                "description": "KOSPI 20일선 대비 +1.27%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 98,
                "value": 2.71,
                "description": "KOSPI 20일 변동성 2.71%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 60,
                "value": 6,
                "description": "최근 10일 중 6일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 58,
                "value": 1.27,
                "description": "20일 이격도 +1.27%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 33,
                "value": 0.99,
                "description": "거래량 5일/20일 비율 0.99x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "52주高 근접 0개, 低 근접 0개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-11",
              "collected_at": "2026-09-13T22:31:13.089000+00:00",
              "hash": "b6f18d350c9de53b7525c92af2abca69c1432a081fd2c363bcccb4419d279fce",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-11"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-11"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-11"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-11"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -2298412183919,
                  "unit": "KRW",
                  "display_value": -22984.12183919,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-11",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -1218393578242,
                  "unit": "KRW",
                  "display_value": -12183.93578242,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-11",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -312346182198,
                  "unit": "KRW",
                  "display_value": -3123.46182198,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-11",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -215851287675,
                  "unit": "KRW",
                  "display_value": -2158.51287675,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-11",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-11",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 72,
                  "close": 137800,
                  "change_pct": 1.85,
                  "rsi": 56.9,
                  "macd_hist": 39.325,
                  "bb_pband": 0.76,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -3.3,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 68,
                  "close": 1415000,
                  "change_pct": -0.56,
                  "rsi": 39.1,
                  "macd_hist": -16929.053,
                  "bb_pband": 0.08,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -28.8,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(39)",
                    "BB하단(0.08)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "068270",
                  "name": "셀트리온",
                  "score": 68,
                  "close": 178200,
                  "change_pct": -1.44,
                  "rsi": 35.3,
                  "macd_hist": -1781.154,
                  "bb_pband": -0.02,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -25.5,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(35)",
                    "BB하단(-0.02)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 65,
                  "close": 273000,
                  "change_pct": -2.67,
                  "rsi": 49.5,
                  "macd_hist": 376.769,
                  "bb_pband": 0.48,
                  "vol_ratio": 1,
                  "pct_52w_high": -37.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 112900,
                  "change_pct": 2.36,
                  "rsi": 58.2,
                  "macd_hist": 159.582,
                  "bb_pband": 0.79,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -3.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 185300,
                  "change_pct": -3.99,
                  "rsi": 56,
                  "macd_hist": 438.787,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -38.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 65,
                  "close": 28950,
                  "change_pct": -2.03,
                  "rsi": 57.1,
                  "macd_hist": 113.807,
                  "bb_pband": 0.64,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -7.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 65,
                  "close": 46250,
                  "change_pct": -4.54,
                  "rsi": 53.2,
                  "macd_hist": 32.371,
                  "bb_pband": 0.59,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -41.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 65,
                  "close": 150000,
                  "change_pct": -3.16,
                  "rsi": 52.7,
                  "macd_hist": 109.625,
                  "bb_pband": 0.52,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -15.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 65,
                  "close": 128400,
                  "change_pct": 0.78,
                  "rsi": 56.4,
                  "macd_hist": 171.626,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -14.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035250",
                  "name": "강원랜드",
                  "score": 65,
                  "close": 14800,
                  "change_pct": 0.75,
                  "rsi": 55.4,
                  "macd_hist": 19.109,
                  "bb_pband": 0.79,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -24.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 360000,
                  "change_pct": -1.37,
                  "rsi": 50.9,
                  "macd_hist": -445.295,
                  "bb_pband": 0.49,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -31.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 60,
                  "close": 268000,
                  "change_pct": -3.25,
                  "rsi": 41.2,
                  "macd_hist": -6303.184,
                  "bb_pband": 0.05,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -38.8,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.05)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 60,
                  "close": 53300,
                  "change_pct": -4.14,
                  "rsi": 61.9,
                  "macd_hist": 442.591,
                  "bb_pband": 0.74,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -42.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 60,
                  "close": 112500,
                  "change_pct": -4.66,
                  "rsi": 47.8,
                  "macd_hist": -663.796,
                  "bb_pband": 0.28,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -39.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 60,
                  "close": 199500,
                  "change_pct": -3.39,
                  "rsi": 50.1,
                  "macd_hist": -680.248,
                  "bb_pband": 0.31,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -54.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 60,
                  "close": 90800,
                  "change_pct": 1,
                  "rsi": 61.9,
                  "macd_hist": 1073.33,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -34.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 134900,
                  "change_pct": 2.82,
                  "rsi": 62.6,
                  "macd_hist": 1213.574,
                  "bb_pband": 0.87,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -32,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035720",
                  "name": "카카오",
                  "score": 58,
                  "close": 34500,
                  "change_pct": -1.15,
                  "rsi": 39.1,
                  "macd_hist": -205.469,
                  "bb_pband": 0.15,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -50.5,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(39)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "036570",
                  "name": "엔씨소프트",
                  "score": 58,
                  "close": 205500,
                  "change_pct": -1.91,
                  "rsi": 33.3,
                  "macd_hist": -1420.205,
                  "bb_pband": 0.03,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -40.2,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(33)",
                    "BB하단(0.03)",
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 50,
                  "close": 686000,
                  "change_pct": 6.03,
                  "rsi": 56.9,
                  "macd_hist": -739.362,
                  "bb_pband": 0.81,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -9.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 57,
                  "close": 35100,
                  "change_pct": 3.24,
                  "rsi": 60.8,
                  "macd_hist": 42.833,
                  "bb_pband": 0.92,
                  "vol_ratio": 1,
                  "pct_52w_high": -15.4,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "BB상단(0.92)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 134900,
                  "change_pct": 2.82,
                  "rsi": 62.6,
                  "macd_hist": 1213.574,
                  "bb_pband": 0.87,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -32,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 55,
                  "close": 177900,
                  "change_pct": 2.6,
                  "rsi": 58.6,
                  "macd_hist": 685.543,
                  "bb_pband": 0.92,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -8.5,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.92)",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 112900,
                  "change_pct": 2.36,
                  "rsi": 58.2,
                  "macd_hist": 159.582,
                  "bb_pband": 0.79,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -3.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "259960",
                  "name": "크래프톤",
                  "score": 40,
                  "close": 212500,
                  "change_pct": 1.92,
                  "rsi": 40.3,
                  "macd_hist": -1013.625,
                  "bb_pband": 0.19,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -34.8,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 72,
                  "close": 137800,
                  "change_pct": 1.85,
                  "rsi": 56.9,
                  "macd_hist": 39.325,
                  "bb_pband": 0.76,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -3.3,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "024110",
                  "name": "기업은행",
                  "score": 55,
                  "close": 20850,
                  "change_pct": 1.71,
                  "rsi": 53.9,
                  "macd_hist": 22.645,
                  "bb_pband": 0.73,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -29.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "033780",
                  "name": "KT&G",
                  "score": 40,
                  "close": 171800,
                  "change_pct": 1.6,
                  "rsi": 45.1,
                  "macd_hist": -407.66,
                  "bb_pband": 0.34,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -10.7,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 50,
                  "close": 140500,
                  "change_pct": 1.44,
                  "rsi": 54.2,
                  "macd_hist": -1222.833,
                  "bb_pband": 0.49,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -16.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "losers": [
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 45,
                  "close": 110300,
                  "change_pct": -7.08,
                  "rsi": 48.9,
                  "macd_hist": 646.955,
                  "bb_pband": 0.46,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -56.9,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 60,
                  "close": 112500,
                  "change_pct": -4.66,
                  "rsi": 47.8,
                  "macd_hist": -663.796,
                  "bb_pband": 0.28,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -39.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 65,
                  "close": 46250,
                  "change_pct": -4.54,
                  "rsi": 53.2,
                  "macd_hist": 32.371,
                  "bb_pband": 0.59,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -41.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 55,
                  "close": 585000,
                  "change_pct": -4.41,
                  "rsi": 51.9,
                  "macd_hist": 6351.907,
                  "bb_pband": 0.64,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -33.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 55,
                  "close": 66400,
                  "change_pct": -4.18,
                  "rsi": 46,
                  "macd_hist": 493.17,
                  "bb_pband": 0.39,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -48.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 60,
                  "close": 53300,
                  "change_pct": -4.14,
                  "rsi": 61.9,
                  "macd_hist": 442.591,
                  "bb_pband": 0.74,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -42.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 185300,
                  "change_pct": -3.99,
                  "rsi": 56,
                  "macd_hist": 438.787,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -38.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "010130",
                  "name": "고려아연",
                  "score": 50,
                  "close": 1179000,
                  "change_pct": -3.68,
                  "rsi": 45.5,
                  "macd_hist": -17724.509,
                  "bb_pband": 0.23,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -46.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 55,
                  "close": 259500,
                  "change_pct": -3.53,
                  "rsi": 49.2,
                  "macd_hist": 1046.068,
                  "bb_pband": 0.4,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -30.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 60,
                  "close": 199500,
                  "change_pct": -3.39,
                  "rsi": 50.1,
                  "macd_hist": -680.248,
                  "bb_pband": 0.31,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -54.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7656.98,
              "change_pct": 0.86,
              "date": "2026-09-11"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26333.04,
              "change_pct": 0.96,
              "date": "2026-09-11"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52573.29,
              "change_pct": 0.98,
              "date": "2026-09-11"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11824,
              "change_pct": 1.81,
              "date": "2026-09-11"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 218.29,
              "change_pct": -0.03,
              "date": "2026-09-11"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 516.13,
              "change_pct": 2.49,
              "date": "2026-09-11"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 975.26,
              "change_pct": -0.22,
              "date": "2026-09-11"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 181.97,
              "change_pct": 2.88,
              "date": "2026-09-11"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 102.94,
              "change_pct": 2.61,
              "date": "2026-09-11"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 15.84,
              "change_pct": -11.21,
              "date": "2026-09-11"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 21.02,
              "change_pct": -9.9,
              "date": "2026-09-11"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.97,
              "change_pct": 0.63,
              "date": "2026-09-11"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1342.97,
              "change_pct": -0.39,
              "date": "2026-09-13"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 153.65,
              "change_pct": -0.54,
              "date": "2026-09-13"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 99.12,
              "change_pct": 0.01,
              "date": "2026-09-13"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 107.79,
              "change_pct": 3.04,
              "date": "2026-09-13"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 102.81,
              "change_pct": 2.76,
              "date": "2026-09-13"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4373.5,
              "change_pct": 0.17,
              "date": "2026-09-13"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 64011.34,
              "change_pct": -1.93,
              "date": "2026-09-11"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 24805.63,
              "change_pct": -0.6,
              "date": "2026-09-11"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6325.13,
              "change_pct": 0.9,
              "date": "2026-09-11"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25568.56,
              "change_pct": 0.82,
              "date": "2026-09-11"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 714.88,
              "change_pct": 0.87,
              "date": "2026-09-11"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 568.53,
              "change_pct": 1.47,
              "date": "2026-09-11"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 62.94,
              "change_pct": 2.18,
              "date": "2026-09-11"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 132.01,
              "change_pct": 4.31,
              "date": "2026-09-11"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 84.06,
              "change_pct": 3.48,
              "date": "2026-09-11"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 12.21,
              "change_pct": 2.69,
              "date": "2026-09-11"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.9,
              "change_pct": 1.53,
              "date": "2026-09-11"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 37.87,
              "change_pct": 2.21,
              "date": "2026-09-11"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 334.131,
                "latest_date": "2026-08-01",
                "yoy_pct": 3.71,
                "mom_pct": 0.4
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 2
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 26
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 32
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 52
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 60
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 74
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 88
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 93
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 신고가, 기대, 상승",
                "articles": [
                  "삼성SDI, ‘실적 저점 통과 기대’ 52주 신고가…목표가 줄상향 ‘100만원’까지 - 쿠키뉴스",
                  "AI주식상승확률분석 : 삼성SDI (006400) 주가 전망과 상승확률 분석 - Investing.com 한국어"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 매수, 순매수, 상승 | 악재: 급락, 경고",
                "articles": [
                  "최근 5거래일 HPSP 주가 6만원선 도달 후 5만원대 마감 - 톱스타뉴스",
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 최대실적, 기대 | 악재: 주의",
                "articles": [
                  "“지배구조 일단락, 이번엔 주가” 임종룡, 자사주 사들인 배경은 [금융지주 밸류업 점검] - 한국금융신문",
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - 매일경제 마켓"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 급등, 반등, 돌파 | 악재: 적자, 우려, 하락",
                "articles": [
                  "반토막 났던 주식이 하루 만에 급등…정유·화학주 반등 시도 - hankyung.com",
                  "LG화학 주가 장중 6%대 올라, 한국정부 중국 아크릴산 부틸에 덤핑관세 부과 - 비즈니스포스트"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": 12,
                "label": "중립",
                "summary": "호재: 매수, 기대감, 순매수 | 악재: 급락",
                "articles": [
                  "신한증권, 알테오젠 목표가↓…\"노바티스 신약 1개 3상 실패\" - yna.co.kr",
                  "주가 내려도 개인 순매수 2위···알테오젠 저력은 ‘중장기 실적 기대감’ - 시사저널e"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 9,
                "label": "중립",
                "summary": "호재: 목표가 상향, 주주환원, 기대감 | 악재: 급락",
                "articles": [
                  "흥국증권 \"삼성물산, 실적과 주주환원에 재평가…목표가 상향\" - yna.co.kr",
                  "삼성전자보다 주가 더 빠진 삼성물산⋯'역대급 배당' 반전되나 - 아이뉴스24"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 6,
                "label": "중립",
                "summary": "호재: 자사주 매입, 주주환원, 매수 | 악재: 하락, 급락",
                "articles": [
                  "셀트리온, 시밀러 시장서 도약...2026년 실적·주가 분수령 - 증권일보",
                  "셀트리온 \"매년 순이익 3분의 1 주주환원\" 1000억원 자사주 매입... 주가는 - 조선일보"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": 3,
                "label": "중립",
                "summary": "호재: 주주환원, 간다, 매수 | 악재: 하락, 매도",
                "articles": [
                  "역대급 110조원 주주환원에도…삼성전자 주가는 왜 하락했나 - 주간조선",
                  "삼성전자 주가, 오늘 왜 하락했을까? - Investing.com 한국어"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -21,
                "label": "부정",
                "summary": "악재: 하락, 급락, 영업이익 감소",
                "articles": [
                  "[증시다트] 현대차·기아 목표가 동반 상향…실적 온도차에도 ‘로봇 프리미엄’ 커졌다 - :: 위즈경제 ::"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -18,
                "label": "부정",
                "summary": "호재: 수주, 상승 | 악재: 유상증자, 약세, 하락",
                "articles": [
                  "[주식] 3조 유상증자한 삼성바이오로직스, 주가는 7% 빠졌다 - 히트뉴스",
                  "삼성바이오로직스, 섹터 약세에 목표가↓…대규모 신규 수주에 주목 - 쿠키뉴스"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": -15,
                "label": "부정",
                "summary": "호재: 반등, 호재 | 악재: 하락, 목표가 하향, 불확실",
                "articles": [
                  "\"이러다 공모가도 볼 판\"…흑자에도 주가 떨어지자 '한숨' [종목+] - hankyung.com",
                  "현 주가도 비싸다…LS證 \"LG엔솔 적정가 39만7천원\" - 연합인포맥스"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -15,
                "label": "부정",
                "summary": "호재: 호재 | 악재: 폭락, 하락, 급락",
                "articles": [
                  "카카오, 둘로 나누면 몸값 오를까…증권가 평가는 - 비즈워치",
                  "“주가 폭락에도 정신 못 차리나”…카카오 쪼개기에 노조·주주 ‘동시 반발’ - 매일경제"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -12,
                "label": "중립",
                "summary": "악재: 급락, 하락, 유상증자",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스",
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - yna.co.kr"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -12,
                "label": "중립",
                "summary": "호재: 반등, 성장, 매수 | 악재: 조정, 약세, 우려",
                "articles": [
                  "리노공업, 주가 조정 끝내고 반등 준비...AI 반도체가 다시 모멘텀 - 증권일보",
                  "리노공업 주가 최근 5거래일 6만원 후반대 약세 마감 - 톱스타뉴스"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": -9,
                "label": "중립",
                "summary": "호재: 기대감, 기대 | 악재: 하락, 부진, 매각",
                "articles": [
                  "주가 두자릿수 뛴 포스코퓨처엠…\"이차전지 바닥 끝났나\" - 연합인포맥스"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": -6,
                "label": "중립",
                "summary": "호재: 매수, 반등 | 악재: 매도, 순매도, 하락",
                "articles": [
                  "\"SK하이닉스 주가, 여전히 싸다고?\"...'파격' 전망 나왔다 - 한경매거진&북",
                  "“있는 돈 다 때려박아” “물타기 올인” SK하이닉스 ‘몰빵’, 괜찮을까 - v.daum.net"
                ]
              }
            ],
            "neutral": []
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0062,
            "tree_metrics": {
              "avg_auc": 0.7771,
              "avg_accuracy": 0.7193
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7769,
              "accuracy": 0.709
            },
            "relative_strength": [
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "price": 545000,
                "relative_rank_pct": 80,
                "return_5d_pct": -0.55,
                "return_20d_pct": 11.91,
                "rsi": 57.2,
                "position_52w_pct": 66.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 144800,
                "relative_rank_pct": 76.4,
                "return_5d_pct": 4.7,
                "return_20d_pct": 18.98,
                "rsi": 59.2,
                "position_52w_pct": 74.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "034020",
                "name": "두산에너빌리티",
                "price": 90800,
                "relative_rank_pct": 62.2,
                "return_5d_pct": 14.65,
                "return_20d_pct": 12.24,
                "rsi": 70,
                "position_52w_pct": 41.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "138040",
                "name": "메리츠금융지주",
                "price": 128400,
                "relative_rank_pct": 59.2,
                "return_5d_pct": -5.24,
                "return_20d_pct": 8.26,
                "rsi": 65.3,
                "position_52w_pct": 58.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "402340",
                "name": "SK스퀘어",
                "price": 1089000,
                "relative_rank_pct": 56.2,
                "return_5d_pct": 4.61,
                "return_20d_pct": -2.51,
                "rsi": 51.6,
                "position_52w_pct": 46.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005935",
                "name": "삼성전자우",
                "price": 193300,
                "relative_rank_pct": 53.9,
                "return_5d_pct": 0.89,
                "return_20d_pct": 2.93,
                "rsi": 53.3,
                "position_52w_pct": 73.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "042700",
                "name": "한미반도체",
                "price": 231000,
                "relative_rank_pct": 53.3,
                "return_5d_pct": 0.43,
                "return_20d_pct": 2.21,
                "rsi": 62.1,
                "position_52w_pct": 43.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1304,
                "relative_rank_pct": 52.1,
                "return_5d_pct": -1.14,
                "return_20d_pct": 4.32,
                "rsi": 39.7,
                "position_52w_pct": 13.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1812000,
                "relative_rank_pct": 51.5,
                "return_5d_pct": 10.02,
                "return_20d_pct": 13.75,
                "rsi": 62.2,
                "position_52w_pct": 57,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000810",
                "name": "삼성화재",
                "price": 686000,
                "relative_rank_pct": 49.1,
                "return_5d_pct": 3.47,
                "return_20d_pct": 12.27,
                "rsi": 59.8,
                "position_52w_pct": 79,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "068270",
                "name": "셀트리온",
                "price": 178200,
                "relative_rank_pct": 20,
                "return_5d_pct": -5.26,
                "return_20d_pct": -11.78,
                "rsi": 20.7,
                "position_52w_pct": 24.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1406,
                "relative_rank_pct": 20.6,
                "return_5d_pct": -2.77,
                "return_20d_pct": -9.11,
                "rsi": 40.8,
                "position_52w_pct": 13.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4365,
                "relative_rank_pct": 21.2,
                "return_5d_pct": 0.92,
                "return_20d_pct": 1.63,
                "rsi": 67,
                "position_52w_pct": 37,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000270",
                "name": "기아",
                "price": 126600,
                "relative_rank_pct": 23,
                "return_5d_pct": 0.08,
                "return_20d_pct": -7.86,
                "rsi": 43,
                "position_52w_pct": 23.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4780,
                "relative_rank_pct": 23.6,
                "return_5d_pct": 0.74,
                "return_20d_pct": 2.14,
                "rsi": 66,
                "position_52w_pct": 28.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "009540",
                "name": "HD한국조선해양",
                "price": 365500,
                "relative_rank_pct": 25.4,
                "return_5d_pct": 4.88,
                "return_20d_pct": -1.62,
                "rsi": 55.6,
                "position_52w_pct": 28.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "price": 360000,
                "relative_rank_pct": 25.9,
                "return_5d_pct": 0.42,
                "return_20d_pct": -1.5,
                "rsi": 49.3,
                "position_52w_pct": 29.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "price": 206500,
                "relative_rank_pct": 25.9,
                "return_5d_pct": -3.28,
                "return_20d_pct": -8.83,
                "rsi": 31.5,
                "position_52w_pct": 20.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012330",
                "name": "현대모비스",
                "price": 415500,
                "relative_rank_pct": 26.5,
                "return_5d_pct": -1.54,
                "return_20d_pct": -18.69,
                "rsi": 18.1,
                "position_52w_pct": 24.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "042660",
                "name": "한화오션",
                "price": 85600,
                "relative_rank_pct": 26.5,
                "return_5d_pct": -1.38,
                "return_20d_pct": -5.62,
                "rsi": 54.4,
                "position_52w_pct": 17.1,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 하락을 설명하는 핵심 요인은 국내 과열 부담과 국내 수급·대형주 약세입니다. Morning 기준 KOSPI는 20일선 6,823.21보다 1.27% 높았고 공포·탐욕 점수는 62점의 탐욕 구간이어서 단기 조정 여지가 있었습니다. 실제로 KOSPI와 KOSDAQ이 각각 2.08%, 0.82% 하락하며 동반 약세를 보였습니다. 보존된 전일 수급에서는 KOSPI 외국인 약 2조 2,984억원, 기관 약 1조 2,184억원 순매도가 확인되어 국내 위험선호를 약화시키는 배경이었습니다. 삼성전자 -3.53%, SK하이닉스 -2.21%, 삼성SDI -2.85%, LG화학 -2.67%, 삼성물산 -3.29% 등 주요 대형주와 성장주 약세도 지수 하락과 부합합니다. 반면 삼성화재 +6.03%, KB금융 +2.60%, 신한지주 +2.36%처럼 강한 종목도 있어 전 종목 일률적 매도라고 단정하지 않습니다.",
          "data_synthesis": {
            "breadth_and_leaders": "당일 전체 상승·하락 종목 수와 장중 breadth는 보존 자료에 없습니다. 주요 관찰 종목에서는 삼성전자, SK하이닉스, 삼성SDI, LG화학, 삼성물산이 하락했고 삼성화재·KB금융·신한지주는 상승해 내부 차별화가 있었습니다.",
            "domestic_market": "KOSPI 실제 종가 6,765.94, KOSDAQ 813.95. Morning 기준 KOSPI 6,909.91 대비 실제 방향은 하락이며 actual_return_pct는 -2.08352931%입니다.",
            "fear_greed": "공포·탐욕 점수는 62점 탐욕입니다. KOSPI 20일 이격은 +1.27%, 최근 10일 중 6일 상승, 거래량 5일/20일 비율은 0.99배로 과열 부담과 확신 부족이 동시에 나타났습니다.",
            "flows": "9월 11일 기준 KOSPI 외국인 -2조 2,984억원, 기관 -1조 2,184억원, KOSDAQ 외국인 -3,123억원, 기관 -2,159억원입니다. 공급자 범위상 관심종목별 수급은 없습니다.",
            "macro_and_events": "CPI 전년비 3.71%, PPI 전년비 9.85%, 실업률 4.1%이며 미국 10년물은 4.97%로 상승했습니다. 브렌트유 107.79달러, WTI 102.81달러로 비용 부담이 있고 9월 16일 FOMC를 앞둔 정책 불확실성이 있습니다.",
            "ml_relative_strength": "ML은 LightGBM·XGBoost·LSTM 3개 모델, 73개 feature, 50종목을 사용했습니다. 5일 상대성과 신호는 KOSPI 절대 방향과 별개이며 전체 maturity는 pending입니다. pre-step 기준 evaluated 1, failure 1, pending 361건입니다.",
            "morning_judgement": "Morning LLM 방향은 하락, confidence 0.68이며 snapshot cutoff는 2026-09-14T07:31:47.121715+09:00입니다. 실제 장 마감과 방향이 일치했습니다.",
            "news_and_sentiment": "뉴스 심리는 LG에너지솔루션 -15, 기아 -21, 삼성바이오로직스 -18, 카카오 -15 등 부정 신호가 있었고 삼성SDI +21, 신한지주 +18, HPSP +21 등 긍정 신호도 있었습니다. 시장 전체 방향보다 종목별 편차가 컸습니다.",
            "overnight_cross_asset": "S&P500 +0.86%, Nasdaq +0.96%, Dow +0.98%, SOX +1.81%, SMH +1.47%, AMD +2.49%, QCOM +2.88%, VIX -11.21%로 미국·반도체 위험선호는 우호적이었습니다. 그러나 니케이225 -1.93%, 항셍 -0.60%로 아시아는 혼조·약세였습니다."
          },
          "failure_analysis": "LLM 절대 방향은 하락으로 적중했으므로 LLM 실패는 관찰되지 않았습니다. ML은 5개 관측 세션 성숙 전이라 전체 성능을 판단할 수 없지만, 이번 평가에서 1건의 failure가 기록되었습니다. 따라서 ML 실패를 LLM 판단의 실패로 합산하지 않습니다. 이번 사례의 개선 포인트는 국내 절대 방향과 ML 5일 상대성과를 계속 분리하고, 해외 반등 신호가 존재할 때도 장중 breadth·당일 수급 부재를 확신 제한 요인으로 명시하는 것입니다.",
          "improvement": {
            "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인·기관 당일 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
            "action_type": "prompt",
            "expected_impact": "국내 절대 방향과 ML 상대성과의 혼동을 줄이고, 반대 방향의 해외 신호와 국내 데이터 공백을 다음 Morning 판단에 균형 있게 반영합니다."
          },
          "rationale_vs_actual": "Morning은 국내 과열·되돌림 위험, 외국인·기관 수급 약화, 대형주 뉴스 심리와 해외 반등 신호의 충돌을 함께 제시하고 하락을 기본 시나리오로 판단했습니다. 실제 종가는 하락해 방향은 맞았으며, 국내 약세 신호가 미국 증시·SOX 반등과 원화 강세라는 counter-signal을 압도했습니다. 다만 Morning이 제시한 6,909.91은 기준값이고 실제 종가는 6,765.94로 기준 대비 낙폭이 143.97포인트에 달했으므로, 하락 방향 적중이 낙폭까지 정확했다는 의미는 아닙니다.",
          "summary": "Morning의 하락 판단은 실제 장 마감과 일치했습니다. KOSPI는 Morning 기준 6,909.91에서 6,765.94로 2.08% 하락했고 KOSDAQ은 813.95로 마감했습니다. 국내 지수 동반 약세와 대형주·성장주 하락, 전일 기준 외국인·기관 순매도가 해외 위험선호 반등보다 강하게 작용한 것으로 판단합니다. 다만 장중 breadth와 당일 실시간 수급은 보존 자료에 없어 하락 확산 경로는 제한적으로 해석합니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6765.94,
          "kosdaq_close": 813.95,
          "direction": "하락",
          "return_pct": -2.08352931,
          "observed_at": "2026-09-14T16:31:01.076197+09:00",
          "llm_success": true
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": true,
          "failure": false
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 1,
          "pending_count": 361,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-fb2baeb5dfb8ac5b",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-14/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-14/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-14-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-96b9f832be8c74a1"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-14-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-14-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-11-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-11",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-7373963dccd5d66e",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-11",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": true,
          "failure": false,
          "market": "KOSPI",
          "direction": "하락",
          "confidence": 0.78,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "6415b2bbb0b16a8e2410e5b7782faf5634a4c86cb6add4c8f037a2542173106e",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "confidence",
              "rationale",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "국내 추세와 해외 신호를 분리해 평가한 결과, 미국·반도체 동반 약세와 원화 약세를 국내 방향의 하방 근거로 반영했습니다. 장중 breadth와 종목별 수급이 없다는 점은 방향 근거가 아닌 불확실성으로 유지해 확신을 제한했습니다."
          },
          "snapshot_cutoff": "2026-09-11T07:31:29.353086+09:00",
          "generated_at": "2026-09-11T07:34:27.706863+09:00",
          "summary": "KOSPI는 국내 지수의 높은 이격과 탐욕 심리 위에 미국·반도체 동반 약세, 원화 약세, 유가 급등이 겹쳐 하락 우위로 판단합니다. 다만 국내 20일선 대비 상승폭과 일부 금융·방산·조선주의 상대 강도는 낙폭을 완충할 수 있어 일방적 급락보다는 변동성 확대와 업종 차별화 가능성을 열어둡니다.",
          "market_summary": "KOSPI는 7,033.92로 전일 대비 0.25% 하락했지만 20일선 대비 이격은 +3.16%이며, 최근 10일 중 6일 상승해 단기 과열 부담이 남아 있습니다. KOSDAQ은 836.92로 0.79% 상승해 국내 시장 내부는 혼조입니다. 탐욕 점수는 66점이고 KOSPI 변동성은 2.78%로 나타났습니다.",
          "overseas_market_and_overnight": "미국 S&P500은 -0.58%, 나스닥은 -0.65%, 다우는 -0.60%였고 SOX는 -2.66%로 더 약했습니다. NVDA -2.37%, AMD -3.36%, MU -4.90%, INTC -5.57%로 반도체 전반의 위험회피가 확인됐으며 SMH도 -2.44%였습니다. VIX는 17.84로 8.38% 상승했고, 유럽 STOXX50은 -1.58%, DAX는 -1.66%였습니다. 아시아 지표도 니케이 -0.19%, 항셍 -0.17%로 약해 해외 counter-signal은 하방 쪽이 우세합니다.",
          "macro": "달러/원은 1,349.21원으로 0.75% 상승했고 DXY는 0.32% 올랐습니다. 미국 10년물 금리는 4.94%로 2.21% 상승했으며 브렌트유와 WTI는 각각 7.70%, 8.13% 급등해 물가와 비용 부담을 키웠습니다. 미국 CPI는 2026-09-11 발표 예정이며 다음 FOMC는 2026-09-16으로 5일 남아 이벤트 변동성이 큽니다. 최신 CPI는 전년 대비 3.54%, PPI는 9.85%로 집계되어 완화 기대보다 물가 리스크가 우선합니다.",
          "sentiment_and_supply": "KOSPI 외국인은 2026-09-10 기준 2조 6,216.6억원 순매도, 기관은 5,743.6억원 순매수였습니다. 외국인 수급은 하방을 확인하지만 기관 매수가 완충 요인입니다. KOSPI 탐욕 점수 66점, 20일선 이격 +3.16%, 최근 10일 6일 상승은 추격 매수보다 조정 위험을 높입니다. 시장 단위 수급은 제공되지만 종목별 외국인·기관 수급은 provider scope 제한으로 missing이며, 뉴스 심리는 종목별로 혼조입니다. 삼성전자와 SK하이닉스는 각각 -0.19%, -0.16%였고, 금융주는 상대적으로 강했습니다.",
          "ml_summary": "ML은 LightGBM·XGBoost·LSTM 3개 모델을 모두 실행했고 50개 종목 예측을 생성했습니다. 트리 평균 정확도는 0.7232, AUC는 0.779이며 LSTM AUC는 0.7828입니다. 모델의 시장 bias는 50개 예측에서 약세로 기록됐고, 상대성과 5일 목표를 위한 신호이지 KOSPI 절대 방향 확률은 아닙니다. 상위 상대 후보에는 삼성SDI 5일 수익률 +4.08%, SK하이닉스 +16.10% 등이 있으나 시장 전체 방향 판단과 분리했습니다.",
          "forecast": "기본 시나리오는 하락입니다. 해외 위험회피와 반도체 약세가 국내 개장 심리를 누르고, 원화 약세·유가 급등·당일 CPI 및 임박한 FOMC가 변동성을 키울 가능성이 큽니다. 국내 기관 매수와 금융·일부 방산·조선주의 상대 강도는 하락폭을 제한할 수 있습니다. 장중 외국인 선물·현물 수급과 breadth가 개선되면 보합으로 완화될 수 있으나, 현재 자료만으로는 상승 전환보다 하락 우위가 타당합니다.",
          "rationale": [
            "KOSPI는 7,033.92로 -0.25%였지만 20일선 대비 +3.16% 이격과 탐욕 66점으로 단기 조정 여지가 있습니다.",
            "S&P500·나스닥·다우가 모두 하락했고 SOX -2.66%, SMH -2.44%로 국내 대형 반도체에 불리한 해외 충격이 확인됩니다.",
            "VIX +8.38%, 10년물 금리 4.94%, 달러/원 +0.75%로 위험회피와 금융여건 부담이 동시에 커졌습니다.",
            "브렌트유 +7.70%, WTI +8.13%의 급등은 물가와 비용 부담을 높여 CPI 발표 전 국내 위험자산의 상방을 제한합니다.",
            "KOSPI 외국인은 2조 6,216.6억원 순매도했고 기관은 5,743.6억원 순매수해 수급은 외국인 중심으로 약세 신호가 더 강합니다.",
            "시장 전체는 약세지만 금융주와 일부 종목은 상대적으로 견조해 하락 일변도보다는 업종 차별화 가능성이 있습니다.",
            "ML은 3개 모델을 모두 실행했으며 전체 시장 bias를 약세로 기록했지만, 이는 KOSPI 절대 방향을 대체하지 않는 5일 상대성과 신호입니다."
          ],
          "observation_points": [
            "KOSPI 7,033.92 및 20일선 대비 이격 +3.16%",
            "SOX -2.66%, SMH -2.44%, 삼성전자 -0.19%, SK하이닉스 -0.16%",
            "달러/원 1,349.21원, 미국 10년물 4.94%, VIX 17.84",
            "브렌트유 109.0달러, WTI 103.86달러",
            "KOSPI 외국인·기관 수급과 장중 breadth",
            "2026-09-11 미국 8월 CPI 및 2026-09-16 FOMC"
          ],
          "uncertainties": [
            "장중 breadth와 선물·현물의 실시간 수급은 아직 없어 개장 후 방향 확인이 필요합니다.",
            "종목별 외국인·기관 수급은 provider scope 제한으로 제공되지 않아 시장 단위 수급만 사용했습니다.",
            "미국 8월 CPI 결과는 아직 발표 전이므로 실제 발표치에 따라 금리·환율 반응이 달라질 수 있습니다.",
            "해외 약세가 국내 개장 직후 그대로 전이될지, 기관 매수와 금융·방산·조선 상대 강도가 완충할지는 미확인입니다.",
            "ML의 5일 상대성과 목표는 KOSPI 절대 방향의 확률이나 보장된 수익률로 해석하지 않았습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-11/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 7033.92,
              "change_pct": -0.25,
              "sma20": 6818.38,
              "disparity_20_pct": null,
              "sentiment": 60,
              "sentiment_signal": "낙관"
            },
            "kosdaq": {
              "close": 836.92,
              "change_pct": 0.79,
              "sma20": null,
              "disparity_20_pct": 1.23,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "fear_greed_score": 66,
            "fear_greed_label": "탐욕",
            "fear_greed_advice": "낙관 구간, 분할 매도 고려",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 66,
                "value": 3.16,
                "description": "KOSPI 20일선 대비 +3.16%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 98,
                "value": 2.78,
                "description": "KOSPI 20일 변동성 2.78%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 60,
                "value": 6,
                "description": "최근 10일 중 6일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 70,
                "value": 3.16,
                "description": "20일 이격도 +3.16%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 30,
                "value": 0.95,
                "description": "거래량 5일/20일 비율 0.95x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "52주高 근접 0개, 低 근접 0개 (/50)"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-10",
              "collected_at": "2026-09-10T22:30:55.877414+00:00",
              "hash": "e032ff4fc464343966baa97dca4ef2737df4b8499036d505826051016558446c",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-10"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-10"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-10"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-10"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -2621661091263,
                  "unit": "KRW",
                  "display_value": -26216.61091263,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-10",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 574361497881,
                  "unit": "KRW",
                  "display_value": 5743.61497881,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-10",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -1125341075712,
                  "unit": "KRW",
                  "display_value": -11253.41075712,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-10",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 1399593685272,
                  "unit": "KRW",
                  "display_value": 13995.93685272,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-10",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-10",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 70,
                  "close": 280500,
                  "change_pct": -1.58,
                  "rsi": 53.1,
                  "macd_hist": 1028.636,
                  "bb_pband": 0.7,
                  "vol_ratio": 2.3,
                  "pct_52w_high": -35.9,
                  "alignment": "정배열",
                  "reasons": [
                    "거래량x2.3",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 70,
                  "close": 154900,
                  "change_pct": -6.63,
                  "rsi": 57.3,
                  "macd_hist": 868.335,
                  "bb_pband": 0.69,
                  "vol_ratio": 2.5,
                  "pct_52w_high": -12.5,
                  "alignment": "정배열",
                  "reasons": [
                    "거래량x2.5",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 68,
                  "close": 1423000,
                  "change_pct": -2,
                  "rsi": 40,
                  "macd_hist": -17094.159,
                  "bb_pband": 0.05,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -28.4,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(40)",
                    "BB하단(0.05)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "068270",
                  "name": "셀트리온",
                  "score": 68,
                  "close": 180800,
                  "change_pct": -1.26,
                  "rsi": 38.3,
                  "macd_hist": -1658.411,
                  "bb_pband": 0.05,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -24.4,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(38)",
                    "BB하단(0.05)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 561000,
                  "change_pct": -2.26,
                  "rsi": 59.4,
                  "macd_hist": 41.532,
                  "bb_pband": 0.73,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -22.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 173400,
                  "change_pct": 0.81,
                  "rsi": 53.8,
                  "macd_hist": 493.15,
                  "bb_pband": 0.73,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -10.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 110300,
                  "change_pct": -0.27,
                  "rsi": 54,
                  "macd_hist": 147.608,
                  "bb_pband": 0.63,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -5.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 65,
                  "close": 55600,
                  "change_pct": -0.71,
                  "rsi": 68.9,
                  "macd_hist": 671.011,
                  "bb_pband": 0.89,
                  "vol_ratio": 2.2,
                  "pct_52w_high": -39.6,
                  "alignment": "정배열",
                  "reasons": [
                    "거래량x2.2",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 65,
                  "close": 127400,
                  "change_pct": 1.92,
                  "rsi": 55.1,
                  "macd_hist": 362.632,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -15,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035250",
                  "name": "강원랜드",
                  "score": 65,
                  "close": 14690,
                  "change_pct": 0.14,
                  "rsi": 52.2,
                  "macd_hist": 18.582,
                  "bb_pband": 0.65,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -25,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 365000,
                  "change_pct": -1.62,
                  "rsi": 52.7,
                  "macd_hist": -175.278,
                  "bb_pband": 0.62,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -30.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 193000,
                  "change_pct": 0.47,
                  "rsi": 61.2,
                  "macd_hist": 975.807,
                  "bb_pband": 0.82,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -35.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 60,
                  "close": 69300,
                  "change_pct": -1.14,
                  "rsi": 52.7,
                  "macd_hist": 690.098,
                  "bb_pband": 0.73,
                  "vol_ratio": 4.7,
                  "pct_52w_high": -46.3,
                  "alignment": "혼조",
                  "reasons": [
                    "거래량x4.7"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 60,
                  "close": 206500,
                  "change_pct": 0.98,
                  "rsi": 54.5,
                  "macd_hist": -155.044,
                  "bb_pband": 0.6,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -52.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 60,
                  "close": 34000,
                  "change_pct": 1.49,
                  "rsi": 54.8,
                  "macd_hist": -23.39,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -18.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 60,
                  "close": 89900,
                  "change_pct": -1.96,
                  "rsi": 61,
                  "macd_hist": 1086.328,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -35.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29550,
                  "change_pct": -0.84,
                  "rsi": 62.9,
                  "macd_hist": 219.149,
                  "bb_pband": 0.74,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -5.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 131200,
                  "change_pct": -1.8,
                  "rsi": 60.3,
                  "macd_hist": 1095.5,
                  "bb_pband": 0.81,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -33.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "030200",
                  "name": "KT",
                  "score": 58,
                  "close": 52000,
                  "change_pct": -2.07,
                  "rsi": 41.5,
                  "macd_hist": -76.01,
                  "bb_pband": 0.08,
                  "vol_ratio": 2,
                  "pct_52w_high": -25.1,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "BB하단(0.08)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "033780",
                  "name": "KT&G",
                  "score": 58,
                  "close": 169100,
                  "change_pct": 0.42,
                  "rsi": 38.8,
                  "macd_hist": -629.534,
                  "bb_pband": 0.06,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -12.1,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(39)",
                    "BB하단(0.06)",
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 45,
                  "close": 118700,
                  "change_pct": 3.31,
                  "rsi": 56.3,
                  "macd_hist": 858.872,
                  "bb_pband": 0.9,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -53.6,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 50,
                  "close": 48450,
                  "change_pct": 3.19,
                  "rsi": 61.1,
                  "macd_hist": 135.178,
                  "bb_pband": 0.92,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -38.8,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.92)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 55,
                  "close": 309500,
                  "change_pct": 1.98,
                  "rsi": 51.3,
                  "macd_hist": 2148.082,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -40.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 65,
                  "close": 127400,
                  "change_pct": 1.92,
                  "rsi": 55.1,
                  "macd_hist": 362.632,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -15,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 45,
                  "close": 612000,
                  "change_pct": 1.66,
                  "rsi": 57.3,
                  "macd_hist": 8228.136,
                  "bb_pband": 0.94,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -30.7,
                  "alignment": "혼조",
                  "reasons": [
                    "BB상단(0.94)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 60,
                  "close": 34000,
                  "change_pct": 1.49,
                  "rsi": 54.8,
                  "macd_hist": -23.39,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -18.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 50,
                  "close": 227000,
                  "change_pct": 1.11,
                  "rsi": 49.2,
                  "macd_hist": -1920.902,
                  "bb_pband": 0.27,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -41.6,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 60,
                  "close": 206500,
                  "change_pct": 0.98,
                  "rsi": 54.5,
                  "macd_hist": -155.044,
                  "bb_pband": 0.6,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -52.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 48,
                  "close": 135300,
                  "change_pct": 0.97,
                  "rsi": 53.7,
                  "macd_hist": -19.046,
                  "bb_pband": 0.63,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -5.1,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 50,
                  "close": 647000,
                  "change_pct": 0.94,
                  "rsi": 49.1,
                  "macd_hist": -2938.744,
                  "bb_pband": 0.45,
                  "vol_ratio": 1.6,
                  "pct_52w_high": -14.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "losers": [
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 70,
                  "close": 154900,
                  "change_pct": -6.63,
                  "rsi": 57.3,
                  "macd_hist": 868.335,
                  "bb_pband": 0.69,
                  "vol_ratio": 2.5,
                  "pct_52w_high": -12.5,
                  "alignment": "정배열",
                  "reasons": [
                    "거래량x2.5",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "015760",
                  "name": "한국전력",
                  "score": 55,
                  "close": 32750,
                  "change_pct": -2.96,
                  "rsi": 47.3,
                  "macd_hist": 208.456,
                  "bb_pband": 0.53,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -52.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 561000,
                  "change_pct": -2.26,
                  "rsi": 59.4,
                  "macd_hist": 41.532,
                  "bb_pband": 0.73,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -22.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "030200",
                  "name": "KT",
                  "score": 58,
                  "close": 52000,
                  "change_pct": -2.07,
                  "rsi": 41.5,
                  "macd_hist": -76.01,
                  "bb_pband": 0.08,
                  "vol_ratio": 2,
                  "pct_52w_high": -25.1,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "BB하단(0.08)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 68,
                  "close": 1423000,
                  "change_pct": -2,
                  "rsi": 40,
                  "macd_hist": -17094.159,
                  "bb_pband": 0.05,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -28.4,
                  "alignment": "혼조",
                  "reasons": [
                    "RSI저점(40)",
                    "BB하단(0.05)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 60,
                  "close": 89900,
                  "change_pct": -1.96,
                  "rsi": 61,
                  "macd_hist": 1086.328,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -35.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 60,
                  "close": 131200,
                  "change_pct": -1.8,
                  "rsi": 60.3,
                  "macd_hist": 1095.5,
                  "bb_pband": 0.81,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -33.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "352820",
                  "name": "하이브",
                  "score": 55,
                  "close": 171300,
                  "change_pct": -1.66,
                  "rsi": 40.7,
                  "macd_hist": 722.529,
                  "bb_pband": 0.17,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -57.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 365000,
                  "change_pct": -1.62,
                  "rsi": 52.7,
                  "macd_hist": -175.278,
                  "bb_pband": 0.62,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -30.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 70,
                  "close": 280500,
                  "change_pct": -1.58,
                  "rsi": 53.1,
                  "macd_hist": 1028.636,
                  "bb_pband": 0.7,
                  "vol_ratio": 2.3,
                  "pct_52w_high": -35.9,
                  "alignment": "정배열",
                  "reasons": [
                    "거래량x2.3",
                    "정배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7591.7,
              "change_pct": -0.58,
              "date": "2026-09-10"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26081.72,
              "change_pct": -0.65,
              "date": "2026-09-10"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52064.1,
              "change_pct": -0.6,
              "date": "2026-09-10"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11614.17,
              "change_pct": -2.66,
              "date": "2026-09-10"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 218.36,
              "change_pct": -2.37,
              "date": "2026-09-10"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 503.6,
              "change_pct": -3.36,
              "date": "2026-09-10"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 977.41,
              "change_pct": -4.9,
              "date": "2026-09-10"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 176.88,
              "change_pct": 0.27,
              "date": "2026-09-10"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 100.32,
              "change_pct": -5.57,
              "date": "2026-09-10"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 17.84,
              "change_pct": 8.38,
              "date": "2026-09-10"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 23.33,
              "change_pct": 4.53,
              "date": "2026-09-10"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.94,
              "change_pct": 2.21,
              "date": "2026-09-10"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1349.21,
              "change_pct": 0.75,
              "date": "2026-09-10"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 154.44,
              "change_pct": 0.63,
              "date": "2026-09-10"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 99.09,
              "change_pct": 0.32,
              "date": "2026-09-10"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 109,
              "change_pct": 7.7,
              "date": "2026-09-10"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 103.86,
              "change_pct": 8.13,
              "date": "2026-09-10"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4360.6,
              "change_pct": -1.25,
              "date": "2026-09-10"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 65142.78,
              "change_pct": -0.19,
              "date": "2026-09-09"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 25274.96,
              "change_pct": -0.17,
              "date": "2026-09-09"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6311.56,
              "change_pct": -1.58,
              "date": "2026-09-09"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25576.45,
              "change_pct": -1.66,
              "date": "2026-09-09"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 708.69,
              "change_pct": -1.06,
              "date": "2026-09-10"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 560.28,
              "change_pct": -2.44,
              "date": "2026-09-10"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 61.6,
              "change_pct": -1.39,
              "date": "2026-09-10"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 126.55,
              "change_pct": -0.1,
              "date": "2026-09-10"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 81.23,
              "change_pct": -0.59,
              "date": "2026-09-10"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.89,
              "change_pct": -2.62,
              "date": "2026-09-10"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.6,
              "change_pct": -0.71,
              "date": "2026-09-10"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 37.05,
              "change_pct": -0.72,
              "date": "2026-09-10"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 287.928,
                "latest_date": "2026-08-01",
                "yoy_pct": 9.85,
                "mom_pct": 0.96
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 0
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 5
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 29
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 35
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 55
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 63
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 77
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 91
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 96
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 급등, 반등, 회복 | 악재: 하락, 악재",
                "articles": [
                  "반토막 났던 주식이 하루 만에 급등…정유·화학주 반등 시도 - 한국경제",
                  "LG화학·롯데케미칼, 유가 뛰는데 주가는 반등…업황 회복은 아직 - PRESS9"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 수혜, 강세 | 악재: 하락, 매각",
                "articles": [
                  "AI주식상승확률분석 : 삼성SDI (006400) 주가 전망과 상승확률 분석 - Investing.com 한국어",
                  "다올투자 \"삼성SDI 목표주가 상향, 미국 정부의 탈중국 배터리 규제로 반사수혜 전망\" - 비즈니스포스트"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 주주환원, 강세, 상승",
                "articles": [
                  "[0911주요일정] KB금융지주, 차기 회장 최종 후보자 1인 확정 등 - 인포스탁데일리",
                  "키움증권 \"KB금융, 업종 내 주주환원율 1등…목표주가 상향\" - 연합뉴스"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 강세, 기대 | 악재: 주의, 하락",
                "articles": [
                  "방어주 부각 속...하나금융·신한지주·KB금융 '장중 강세' - 초이스경제",
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - 매일경제 마켓"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 급락, 경고",
                "articles": [
                  "HPSP 주가, 웃음꽃... 증권가 전망은? - 금강일보"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 급등, 상승, 흑자전환 | 악재: 하락",
                "articles": [
                  "저지 마이크스 ① 상장 후 첫 분기 실적 발표로 주가 7% 급등 - 네이버 프리미엄콘텐츠"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 12,
                "label": "중립",
                "summary": "호재: 목표가 상향, 주주환원, 매수 | 악재: 급락",
                "articles": [
                  "흥국증권 \"삼성물산, 실적과 주주환원에 재평가…목표가 상향\" - 연합뉴스",
                  "[재계 인사이드] 선대보다 한층 강화된 이재용 회장의 삼성그룹 지배력 - 뉴스투데이"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": 12,
                "label": "중립",
                "summary": "호재: 매수, 기대감, 순매수 | 악재: 조정, 하락",
                "articles": [
                  "주가 내려도 개인 순매수 2위···알테오젠 저력은 ‘중장기 실적 기대감’ - sisajournal-e.com",
                  "[기자수첩] 알테오젠에 붙은 '신뢰 할인' - 청년의사"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -9,
                "label": "중립",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 하락, 우려, 블록딜",
                "articles": [
                  "삼성증권 \"리노공업, 시장 우려 실적으로 반박…목표가는↓\" - 연합뉴스"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -6,
                "label": "중립",
                "summary": "호재: 상승, 성장, 수주 | 악재: 유상증자, 적자, 급락",
                "articles": [
                  "[주식] 3조 유상증자한 삼성바이오로직스, 주가는 7% 빠졌다 - 히트뉴스",
                  "삼성바이오로직스 투자분석 2026. 09. 10 - 주달"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -6,
                "label": "중립",
                "summary": "호재: 강세 | 악재: 하락, 악재, 목표가 하향",
                "articles": [
                  "반토막 난 현대차…주가 끌어올린 ‘車·로봇’에 물음표 - 쿠키뉴스",
                  "현대차, 이익목표 9% 상향에도…‘아틀라스’ 빠지자 주가도 빠졌다 - 중앙일보"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -6,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락, 유상증자",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - news.einfomax.co.kr",
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - 연합뉴스"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": -3,
                "label": "중립",
                "summary": "호재: 호재, 상승, 반등 | 악재: 하락, 폭락",
                "articles": [
                  "LG에너지솔루션, 뚜렷한 호재 부재 속 하락 마감 : 기업주식정보 - 재경일보",
                  "\"이러다 공모가도 볼 판\"…흑자에도 주가 떨어지자 '한숨' [종목+] - 한국경제"
                ]
              },
              {
                "ticker": "000270",
                "name": "기아",
                "score": -3,
                "label": "중립",
                "summary": "호재: 기대, 강세 | 악재: 하락, 급락",
                "articles": [
                  "美·加 관세 전쟁에 도요타·혼다 비상··· 현대차·기아 반사이익 '청신호' - 그린포스트코리아"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 0,
                "label": "중립",
                "summary": "호재: 자사주 매입, 주주환원 | 악재: 하락, 급락",
                "articles": [
                  "셀트리온, 시밀러 시장서 도약...2026년 실적·주가 분수령 - 증권일보",
                  "셀트리온 \"매년 순이익 3분의 1 주주환원\" 1000억원 자사주 매입... 주가는 - 조선일보"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": 0,
                "label": "중립",
                "summary": "호재: 돌파 | 악재: 하락",
                "articles": [
                  "카카오, 16일 소액주주 대상 인적분할 설명회···'지분 60%' 표심 잡을까 - sisajournal-e.com",
                  "카카오페이증권, 국내주식 소수점 거래 20만 계좌 돌파 - 전자신문"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0073,
            "tree_metrics": {
              "avg_auc": 0.779,
              "avg_accuracy": 0.7232
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7828,
              "accuracy": 0.7075
            },
            "relative_strength": [
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 153100,
                "relative_rank_pct": 80,
                "return_5d_pct": 17.05,
                "return_20d_pct": 25.08,
                "rsi": 68.4,
                "position_52w_pct": 84.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "price": 561000,
                "relative_rank_pct": 60.7,
                "return_5d_pct": 4.08,
                "return_20d_pct": 15.55,
                "rsi": 68.1,
                "position_52w_pct": 69.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "price": 110300,
                "relative_rank_pct": 59.1,
                "return_5d_pct": -3.67,
                "return_20d_pct": 6.26,
                "rsi": 61.8,
                "position_52w_pct": 88.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005935",
                "name": "삼성전자우",
                "price": 203000,
                "relative_rank_pct": 57.5,
                "return_5d_pct": 10.27,
                "return_20d_pct": 9.08,
                "rsi": 47.1,
                "position_52w_pct": 78.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "138040",
                "name": "메리츠금융지주",
                "price": 127400,
                "relative_rank_pct": 54.3,
                "return_5d_pct": -6.94,
                "return_20d_pct": 7.06,
                "rsi": 64.5,
                "position_52w_pct": 56.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "034020",
                "name": "두산에너빌리티",
                "price": 89900,
                "relative_rank_pct": 50,
                "return_5d_pct": 13.51,
                "return_20d_pct": 11.96,
                "rsi": 68.9,
                "position_52w_pct": 40,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "086790",
                "name": "하나금융지주",
                "price": 135300,
                "relative_rank_pct": 49.5,
                "return_5d_pct": -3.01,
                "return_20d_pct": 5.79,
                "rsi": 60.2,
                "position_52w_pct": 88.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "price": 173400,
                "relative_rank_pct": 45.7,
                "return_5d_pct": -2.53,
                "return_20d_pct": 4.46,
                "rsi": 61.5,
                "position_52w_pct": 76.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "402340",
                "name": "SK스퀘어",
                "price": 1135000,
                "relative_rank_pct": 40.9,
                "return_5d_pct": 15.7,
                "return_20d_pct": 10.84,
                "rsi": 51.5,
                "position_52w_pct": 48.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 269000,
                "relative_rank_pct": 40.4,
                "return_5d_pct": 7.6,
                "return_20d_pct": 5.28,
                "rsi": 42,
                "position_52w_pct": 65.6,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "010130",
                "name": "고려아연",
                "price": 1224000,
                "relative_rank_pct": 20,
                "return_5d_pct": 0,
                "return_20d_pct": 0.74,
                "rsi": 48.5,
                "position_52w_pct": 30.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "006800",
                "name": "미래에셋증권",
                "price": 34750,
                "relative_rank_pct": 20.5,
                "return_5d_pct": 4.67,
                "return_20d_pct": -4.79,
                "rsi": 51.6,
                "position_52w_pct": 23.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012450",
                "name": "한화에어로스페이스",
                "price": 1067000,
                "relative_rank_pct": 21.6,
                "return_5d_pct": 1.91,
                "return_20d_pct": -7.7,
                "rsi": 47.3,
                "position_52w_pct": 32.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012330",
                "name": "현대모비스",
                "price": 415500,
                "relative_rank_pct": 22.7,
                "return_5d_pct": -1.89,
                "return_20d_pct": -16.65,
                "rsi": 19.6,
                "position_52w_pct": 24.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 11060,
                "relative_rank_pct": 23.8,
                "return_5d_pct": 9.83,
                "return_20d_pct": -22.6,
                "rsi": 44.3,
                "position_52w_pct": 7.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 20850,
                "relative_rank_pct": 23.8,
                "return_5d_pct": -2.34,
                "return_20d_pct": -2.34,
                "rsi": 43.6,
                "position_52w_pct": 41.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1415,
                "relative_rank_pct": 24.8,
                "return_5d_pct": -0.91,
                "return_20d_pct": -7.58,
                "rsi": 49,
                "position_52w_pct": 14.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "009540",
                "name": "HD한국조선해양",
                "price": 351500,
                "relative_rank_pct": 24.8,
                "return_5d_pct": 2.18,
                "return_20d_pct": -7.62,
                "rsi": 51.5,
                "position_52w_pct": 20.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "price": 365000,
                "relative_rank_pct": 25.4,
                "return_5d_pct": -0.14,
                "return_20d_pct": 1.81,
                "rsi": 56.6,
                "position_52w_pct": 31.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "price": 389000,
                "relative_rank_pct": 25.4,
                "return_5d_pct": 1.43,
                "return_20d_pct": -5.01,
                "rsi": 35.4,
                "position_52w_pct": 31,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 하락을 설명하는 주된 요인은 해외 위험회피의 국내 전이와 국내 시장의 높은 단기 이격입니다. Morning 스냅샷에는 S&P500 -0.58%, 나스닥 -0.65%, SOX -2.66%, SMH -2.44%, VIX +8.38%, 미국 10년물 4.94%, 달러/원 +0.75%, 브렌트유 +7.70%, WTI +8.13%가 기록되어 있었습니다. KOSPI는 20일선 대비 +3.16%, 탐욕 점수 66점으로 조정 여지가 있었고, 실제 종가는 7,033.92에서 6,860.62로 낮아졌습니다. 국내 수급은 전일 기준 KOSPI 외국인 -2조 6,216.6억원, 기관 +5,743.6억원으로 외국인 매도가 기관 매수를 압도하는 비대칭을 보였습니다. 금융·일부 방산·조선주의 상대 강도는 완충 요인이었지만 지수 하락을 막지는 못했습니다.",
          "data_synthesis": {
            "breadth_and_leaders": "사전 watchlist에서는 금융주와 일부 종목의 상대 강도가 확인됐지만 전체 breadth는 제공되지 않았습니다. 따라서 리더십이 지수 하락을 완충했다는 정도로만 해석합니다.",
            "domestic_market": "KOSPI 실제 종가 6,860.62, KOSDAQ 실제 종가 823.25로 두 지수 모두 하락했습니다. Morning reference는 KOSPI 7,033.92, KOSDAQ 836.92였습니다.",
            "fear_greed": "KOSPI 탐욕 점수는 66점, 20일선 이격은 +3.16%, 최근 10일 중 6일 상승이어서 상승 추세 안의 단기 조정 취약성을 시사했습니다.",
            "flows": "2026-09-10 기준 KOSPI 외국인은 -2조 6,216.6억원, 기관은 +5,743.6억원이었습니다. KOSDAQ은 외국인 -1조 1,253.4억원, 기관 +1조 3,995.9억원이었습니다. 종목별 수급은 provider scope 제한으로 없습니다.",
            "intraday_context": "장중 breadth와 실시간 선물·현물 수급은 Morning snapshot에 없어 확인하지 못했습니다. 해당 자료는 사후에 보충한 사실처럼 사용하지 않습니다.",
            "macro_events": "당일 미국 8월 CPI 발표 예정과 2026-09-16 FOMC 예정이 변동성 요인이었습니다. 수집된 CPI 최신값은 전년 대비 3.54%, PPI는 9.85%였으며 실제 당일 발표 결과는 Morning snapshot의 사후 금지 경계를 넘으므로 분석 근거로 사용하지 않습니다.",
            "ml_relative_context": "LightGBM·XGBoost·LSTM이 모두 실행되어 50개 종목 예측을 생성했습니다. ML은 5일 상대성과 신호이며 KOSPI 절대 방향 확률이 아닙니다. 4건 평가, 3건 failure, 312건 pending으로 maturity는 아직 pending입니다.",
            "morning_judgment": "Morning direction은 하락, confidence는 0.78, snapshot cutoff는 2026-09-11T07:31:29.353086+09:00이며 이 값들은 frozen evidence로 보존합니다.",
            "news": "종목 뉴스 감성은 삼성전자·SK하이닉스·금융주 등에서 긍정·부정 신호가 혼재했습니다. 뉴스만으로 지수 방향을 결정하지 않고 가격·매크로·수급과 함께 제한적으로 사용했습니다.",
            "overnight_cross_asset": "미국 주요 지수와 유럽 지수, 특히 반도체 지수가 약세였고 VIX·미국 금리·달러·유가가 함께 상승하여 위험회피와 인플레이션 부담이 겹쳤습니다."
          },
          "failure_analysis": "LLM 절대 방향 판단은 성공했습니다. ML은 5회 관측 성숙 조건이 아직 충족되지 않았고, 전체 316건 중 이번에 4건이 평가되어 3건의 failure와 312건의 pending이 남아 있습니다. 따라서 ML failure를 KOSPI 절대 방향 판단의 실패로 해석하지 않습니다. 현재 확인 가능한 근거만으로 특정 모델·특정 특성의 원인을 단정할 수 없으므로, 모델 파라미터 변경이나 feature 변경은 제안하지 않습니다. 다음 실행에서는 ML 상대성과 평가 결과를 절대 지수 방향과 계속 분리하고, 성숙한 평가 표본과 종목별 원인 evidence가 확보될 때만 모델 개선을 검토합니다.",
          "improvement": {
            "action_detail": "다음 Morning에서도 KOSPI 절대 방향 판단과 ML 5일 상대성과를 분리하고, ML 평가가 성숙하지 않은 동안에는 failure_count만으로 모델·feature 변경을 제안하지 않습니다. 성숙한 평가 evidence가 확보되면 종목·모델·목표 horizon별 원인을 별도로 기록한 뒤에만 개선 후보를 만듭니다.",
            "action_type": "prompt",
            "expected_impact": "절대 방향 판단과 상대성과 평가의 혼동을 줄이고, 미성숙한 ML 표본에서 근거 없는 파라미터·feature 변경이 공유 lifecycle에 들어가는 것을 방지합니다.",
            "feature_changes": [],
            "ml_params": {}
          },
          "rationale_vs_actual": "Morning의 하락 우위 판단은 결과 방향과 일치했습니다. 특히 반도체 약세, 위험회피, 환율·금리 상승, 유가 급등을 국내 지수의 하방 위험으로 본 논리는 실제 KOSPI와 KOSDAQ 동반 하락과 부합합니다. 반면 Morning은 기관 매수와 일부 업종 상대 강도가 낙폭을 제한할 가능성도 열어두었으나, 실제 KOSPI 낙폭은 -2.46377553%로 완충보다 전이 충격이 우세했습니다. 따라서 이번 적중은 방향 판단의 타당성을 보여주지만, 확신 0.78이 낙폭의 크기나 장중 경로까지 검증했다는 뜻은 아닙니다.",
          "summary": "Morning은 하락을 예측했고 실제 KOSPI도 7,033.92에서 6,860.62로 하락하여 방향 판단은 적중했습니다. 종가 기준 수익률은 -2.46377553%였으며, KOSDAQ도 836.92에서 823.25로 하락했습니다. 해외 위험회피와 반도체 약세, 원화·금리·유가 부담이 국내 조정으로 전이된 점이 핵심입니다. 다만 Morning 당시 확인하지 못한 장중 breadth와 실시간 수급은 이번 판단의 강도를 사후적으로 과대평가하지 않도록 별도 한계로 남깁니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6860.62,
          "kosdaq_close": 823.25,
          "direction": "하락",
          "return_pct": -2.46377553,
          "observed_at": "2026-09-11T16:30:52.482828+09:00",
          "llm_success": true
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": true,
          "failure": false
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 4,
          "pending_count": 312,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-a77a0afcd998f90f",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-11/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-11/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-11-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-7373963dccd5d66e"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-11-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-11-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-10-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-10",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-1a8d3736f41383ab",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-10",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "보합",
          "confidence": 0.58,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "457b0562c903d2a44c901cc0743d3fe5a60fe2977645ff4a1394de12c68ed223",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "confidence",
              "rationale",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "국내 단기 과열과 해외 혼조 신호를 분리해 검토하고, 해외 반도체·환율 반등은 상쇄 요인으로 반영하되 수급·breadth 공백과 예정 이벤트 리스크를 고려해 보합 판단과 확신 수준을 제한했습니다."
          },
          "snapshot_cutoff": "2026-09-10T07:31:01.467545+09:00",
          "generated_at": "2026-09-10T07:32:45.617908+09:00",
          "summary": "KOSPI는 6,995.39로 하루 4.61% 급등하고 20일선보다 3.98% 높아 단기 과열 부담이 큽니다. 미국 주요 지수는 약세였지만 SOX와 일부 반도체주는 반등해 하방을 일부 상쇄했습니다. 국내 금융·2차전지와 반도체 강세가 지지력을 제공하나, 수급·breadth의 최신 확인 공백과 9월 11일 미국 CPI를 앞둔 변동성 확대로 방향은 보합으로 판단합니다.",
          "market_summary": "국내 시장은 KOSPI 6,995.39, 전일 대비 +4.61%, 20일선 6,727.59 대비 +3.98%로 강하게 올랐지만 과열 신호가 동반됩니다. KOSDAQ은 822.19로 +1.07%, 20일 이격도는 -1.11%로 상대적으로 중립적입니다. KOSPI 최근 10일 중 8일 상승, 변동성 2.85%로 추가 추격보다 차익실현과 숨고르기 가능성을 함께 봅니다.",
          "overseas_market_and_overnight": "9월 9일 미국은 S&P500 -0.48%, Nasdaq -0.64%, Dow -0.77%로 위험선호가 약화됐습니다. 반면 SOX는 +0.37%, SMH는 +0.10%였고 AMD +3.04%, MU +2.75%, QCOM +1.33%, INTC +1.69%로 반도체 내부는 상대적으로 견조했습니다. NVDA는 -0.91%였으며 VIX는 16.46으로 +4.71% 올라 변동성 경계가 커졌습니다. 달러/원은 1,339.14로 -0.33%여서 원화 약세 부담은 일부 완화됐지만, 일본 -1.70%와 항셍 -0.38%는 아시아 배경이 일방적 우호 신호가 아님을 보여줍니다.",
          "macro": "미국 CPI는 2026년 7월 기준 전년 대비 +3.54%, PPI는 +8.27%, 실업률은 4.1%입니다. 9월 11일 미국 8월 CPI 발표가 하루 앞으로 다가왔고 9월 16일 FOMC도 예정되어 있어 금리·물가 재평가에 따른 변동성 위험이 있습니다. 브렌트유 102.14달러(+4.31%), WTI 97.10달러(+4.37%) 급등은 물가와 비용 측면의 부담 요인입니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 71(탐욕)이며 모멘텀 70, 변동성 98, 심리 80, 이격도 75로 과열 경계가 뚜렷합니다. 거래량 5일/20일 비율은 0.93배이고 고가·저가 구성요소는 데이터가 없습니다. KOSPI 외국인은 9월 7일 기준 +25,531.6억원, 기관은 +26,490.6억원 순매수였으나 최신 장중 수급과 breadth는 확인되지 않았고, 개별 종목 수급도 제공 범위 밖입니다. 뉴스는 삼성전자·SK하이닉스·LG화학·삼성SDI·KB금융 등에 긍정 신호가 있으나 삼성바이오로직스 유상증자·급락, 자동차·인터넷 일부 약세 등 종목별 편차가 큽니다.",
          "ml_summary": "ML은 5거래일 후 KOSPI 대비 초과수익을 예측하는 별도 상대강도 신호이며 시장 방향 판단을 대체하지 않습니다. LightGBM·XGBoost·LSTM 모두 참여했고, Tree 평균 AUC 0.7164·정확도 0.6925, LSTM AUC 0.7017·정확도 0.6627입니다. 삼성전자 80%, SK하이닉스 73%, 퀄리타스반도체 65%, 엔투텍 59%가 상대적 강세였고 유안타증권 32%, 유안타증권우 20%, 나우IB 20%는 약세였습니다. 모델 시장 편향은 약세지만 이는 KOSPI 절대 방향의 근거가 아니라 상대수익 신호로 반영했습니다.",
          "forecast": "다음 거래일 KOSPI는 급등 뒤 과열 부담과 미국 지수 약세·유가 급등이 상단을 제한하는 가운데, 반도체 상대 강세와 원화 안정이 하방을 일부 지지해 보합을 예상합니다. 미국 CPI 결과를 앞둔 경계로 장중 변동성은 커질 수 있습니다.",
          "rationale": [
            "KOSPI가 6,995.39로 +4.61% 급등했고 20일선 대비 +3.98%여서 추격 매수보다 단기 되돌림 위험이 커졌습니다.",
            "탐욕 지수 71, 최근 10일 중 8일 상승, 변동성 구성점수 98은 상승 추세와 과열 신호가 동시에 존재함을 보여줍니다.",
            "S&P500 -0.48%, Nasdaq -0.64%, Dow -0.77%와 VIX +4.71%는 글로벌 위험선호를 약화시키는 상쇄 요인입니다.",
            "SOX +0.37%, AMD +3.04%, MU +2.75% 등 반도체 반등과 달러/원 -0.33%는 국내 대형 기술주와 지수 하방을 일부 지지합니다.",
            "외국인·기관의 KOSPI 순매수는 각각 9월 7일 기준 +25,531.6억원과 +26,490.6억원이지만 최신 수급·breadth가 없어 추세 지속을 강하게 확인할 수 없습니다.",
            "9월 11일 미국 CPI와 9월 16일 FOMC를 앞둔 가운데 브렌트유 +4.31%, WTI +4.37%는 금리·물가 변동성 위험을 높입니다.",
            "ML의 시장 편향은 약세지만 상대수익 목적이며, 삼성전자·SK하이닉스 등 반도체 상대강세와 유안타증권·나우IB 약세가 혼재해 절대 방향은 보합으로 분리 판단했습니다."
          ],
          "observation_points": [
            "KOSPI 6,995.39와 20일선 이격도 +3.98%",
            "미국 8월 CPI 발표 및 9월 16일 FOMC",
            "SOX·삼성전자·SK하이닉스 등 반도체 동조화 여부",
            "원/달러 1,339.14와 국제유가 브렌트 102.14달러",
            "최신 외국인·기관 수급과 시장 breadth 보강 여부",
            "탐욕 지수 71 및 VIX 16.46의 변화"
          ],
          "uncertainties": [
            "장중 breadth와 최신 외국인·기관 수급은 제공되지 않았습니다.",
            "개별 관심종목 수급은 공급자 범위 제한으로 누락됐습니다.",
            "KOSPI 고가·저가 구성요소 데이터가 없습니다.",
            "미국 CPI 발표 전이므로 물가 결과와 금리 기대의 방향은 확인되지 않았습니다.",
            "해외 지수 일부 아시아·유럽 값은 9월 8일 기준으로 미국 9월 9일 마감과 시점이 다릅니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-10/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6995.39,
              "change_pct": 4.61,
              "sma20": 6727.59,
              "disparity_20_pct": null,
              "sentiment": 80,
              "sentiment_signal": "과열"
            },
            "kosdaq": {
              "close": 822.19,
              "change_pct": 1.07,
              "sma20": null,
              "disparity_20_pct": -1.11,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "fear_greed_score": 71,
            "fear_greed_label": "탐욕",
            "fear_greed_advice": "낙관 구간, 분할 매도 고려",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 70,
                "value": 3.98,
                "description": "KOSPI 20일선 대비 +3.98%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 98,
                "value": 2.85,
                "description": "KOSPI 20일 변동성 2.85%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 80,
                "value": 8,
                "description": "최근 10일 중 8일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 75,
                "value": 3.98,
                "description": "20일 이격도 +3.98%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 29,
                "value": 0.93,
                "description": "거래량 5일/20일 비율 0.93x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "데이터 없음"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-07",
              "collected_at": "2026-09-09T22:30:26.624290+00:00",
              "hash": "6c26389f2e6bc1b5dcccb940b8678066aa7c104b1acb62bb13424946d3028a42",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": 2553157939517,
                  "unit": "KRW",
                  "display_value": 25531.57939517,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 2649064891596,
                  "unit": "KRW",
                  "display_value": 26490.64891596,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -71676261350,
                  "unit": "KRW",
                  "display_value": -716.7626135,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -129245883392,
                  "unit": "KRW",
                  "display_value": -1292.45883392,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-09",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 67,
                  "close": 574000,
                  "change_pct": 8.3,
                  "rsi": 62.8,
                  "macd_hist": 271.798,
                  "bb_pband": 0.86,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -20.6,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 172000,
                  "change_pct": -0.98,
                  "rsi": 52.2,
                  "macd_hist": 589.174,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -11.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 110600,
                  "change_pct": -2.3,
                  "rsi": 54.5,
                  "macd_hist": 353.804,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -5.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 65,
                  "close": 119100,
                  "change_pct": 0.17,
                  "rsi": 58.2,
                  "macd_hist": 145.821,
                  "bb_pband": 0.69,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -35.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 134000,
                  "change_pct": -2.05,
                  "rsi": 52,
                  "macd_hist": 113.645,
                  "bb_pband": 0.57,
                  "vol_ratio": 1,
                  "pct_52w_high": -6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 65,
                  "close": 46950,
                  "change_pct": 0.97,
                  "rsi": 57.1,
                  "macd_hist": 49.303,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -40.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "030200",
                  "name": "KT",
                  "score": 65,
                  "close": 53100,
                  "change_pct": -2.21,
                  "rsi": 47.2,
                  "macd_hist": 63.263,
                  "bb_pband": 0.39,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -23.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 65,
                  "close": 125000,
                  "change_pct": -4.43,
                  "rsi": 52.1,
                  "macd_hist": 697.031,
                  "bb_pband": 0.59,
                  "vol_ratio": 1,
                  "pct_52w_high": -16.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 371000,
                  "change_pct": 6.46,
                  "rsi": 54.8,
                  "macd_hist": -297.878,
                  "bb_pband": 0.79,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -29.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 192100,
                  "change_pct": 6.37,
                  "rsi": 60.8,
                  "macd_hist": 861.723,
                  "bb_pband": 0.84,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -35.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 60,
                  "close": 279500,
                  "change_pct": 0.9,
                  "rsi": 45.2,
                  "macd_hist": -6250.978,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -36.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.10)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 60,
                  "close": 641000,
                  "change_pct": -0.93,
                  "rsi": 47.8,
                  "macd_hist": -2346.709,
                  "bb_pband": 0.41,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -15.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 29800,
                  "change_pct": -1,
                  "rsi": 65.5,
                  "macd_hist": 297.021,
                  "bb_pband": 0.8,
                  "vol_ratio": 1,
                  "pct_52w_high": -4.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 138300,
                  "change_pct": -1.21,
                  "rsi": 50.8,
                  "macd_hist": -1177.044,
                  "bb_pband": 0.39,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -18.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "033780",
                  "name": "KT&G",
                  "score": 58,
                  "close": 168400,
                  "change_pct": -0.82,
                  "rsi": 37.1,
                  "macd_hist": -634.827,
                  "bb_pband": -0.07,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -12.5,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "BB하단(-0.07)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 55,
                  "close": 269500,
                  "change_pct": 0,
                  "rsi": 54,
                  "macd_hist": 1679.597,
                  "bb_pband": 0.7,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -28,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 285000,
                  "change_pct": 5.56,
                  "rsi": 55.4,
                  "macd_hist": 1189.346,
                  "bb_pband": 0.84,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -34.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 376000,
                  "change_pct": -1.57,
                  "rsi": 51.7,
                  "macd_hist": 967.461,
                  "bb_pband": 0.56,
                  "vol_ratio": 1,
                  "pct_52w_high": -33.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 55,
                  "close": 70100,
                  "change_pct": 1.74,
                  "rsi": 54.8,
                  "macd_hist": 667.329,
                  "bb_pband": 0.79,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -45.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 55,
                  "close": 602000,
                  "change_pct": -0.17,
                  "rsi": 55.7,
                  "macd_hist": 7795.323,
                  "bb_pband": 0.89,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -31.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 52,
                  "close": 114900,
                  "change_pct": 9.64,
                  "rsi": 53.3,
                  "macd_hist": 286.839,
                  "bb_pband": 0.73,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -55.1,
                  "alignment": "역배열",
                  "reasons": [
                    "MACD골든",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 67,
                  "close": 574000,
                  "change_pct": 8.3,
                  "rsi": 62.8,
                  "macd_hist": 271.798,
                  "bb_pband": 0.86,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -20.6,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 50,
                  "close": 58000,
                  "change_pct": 6.81,
                  "rsi": 61.1,
                  "macd_hist": 382.562,
                  "bb_pband": 1.12,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -36.4,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.12)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 60,
                  "close": 371000,
                  "change_pct": 6.46,
                  "rsi": 54.8,
                  "macd_hist": -297.878,
                  "bb_pband": 0.79,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -29.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 60,
                  "close": 192100,
                  "change_pct": 6.37,
                  "rsi": 60.8,
                  "macd_hist": 861.723,
                  "bb_pband": 0.84,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -35.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 285000,
                  "change_pct": 5.56,
                  "rsi": 55.4,
                  "macd_hist": 1189.346,
                  "bb_pband": 0.84,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -34.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 40,
                  "close": 56000,
                  "change_pct": 5.07,
                  "rsi": 70.2,
                  "macd_hist": 704.056,
                  "bb_pband": 0.94,
                  "vol_ratio": 1,
                  "pct_52w_high": -39.1,
                  "alignment": "정배열",
                  "reasons": [
                    "RSI과매수(70)",
                    "BB상단(0.94)",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 50,
                  "close": 165900,
                  "change_pct": 4.08,
                  "rsi": 69.9,
                  "macd_hist": 1428.646,
                  "bb_pband": 1.08,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -6.3,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.08)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 45,
                  "close": 1856000,
                  "change_pct": 3.51,
                  "rsi": 58.2,
                  "macd_hist": 32991.263,
                  "bb_pband": 1.05,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -37.9,
                  "alignment": "혼조",
                  "reasons": [
                    "BB상단(1.05)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 45,
                  "close": 1404000,
                  "change_pct": 2.48,
                  "rsi": 51,
                  "macd_hist": 5710.525,
                  "bb_pband": 0.51,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -41.9,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                }
              ],
              "losers": [
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 65,
                  "close": 125000,
                  "change_pct": -4.43,
                  "rsi": 52.1,
                  "macd_hist": 697.031,
                  "bb_pband": 0.59,
                  "vol_ratio": 1,
                  "pct_52w_high": -16.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "352820",
                  "name": "하이브",
                  "score": 55,
                  "close": 174200,
                  "change_pct": -3.97,
                  "rsi": 43.1,
                  "macd_hist": 1219.453,
                  "bb_pband": 0.34,
                  "vol_ratio": 1,
                  "pct_52w_high": -57,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 50,
                  "close": 224500,
                  "change_pct": -2.39,
                  "rsi": 47.7,
                  "macd_hist": -1660.749,
                  "bb_pband": 0.15,
                  "vol_ratio": 1,
                  "pct_52w_high": -42.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 110600,
                  "change_pct": -2.3,
                  "rsi": 54.5,
                  "macd_hist": 353.804,
                  "bb_pband": 0.67,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -5.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "030200",
                  "name": "KT",
                  "score": 65,
                  "close": 53100,
                  "change_pct": -2.21,
                  "rsi": 47.2,
                  "macd_hist": 63.263,
                  "bb_pband": 0.39,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -23.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "259960",
                  "name": "크래프톤",
                  "score": 53,
                  "close": 209000,
                  "change_pct": -2.11,
                  "rsi": 36.3,
                  "macd_hist": -1148.345,
                  "bb_pband": -0.01,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -35.9,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(36)",
                    "BB하단(-0.01)",
                    "52w低근접",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 50,
                  "close": 210000,
                  "change_pct": -2.1,
                  "rsi": 46.7,
                  "macd_hist": -1088.257,
                  "bb_pband": 0.18,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -30.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 134000,
                  "change_pct": -2.05,
                  "rsi": 52,
                  "macd_hist": 113.645,
                  "bb_pband": 0.57,
                  "vol_ratio": 1,
                  "pct_52w_high": -6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 48,
                  "close": 33500,
                  "change_pct": -1.62,
                  "rsi": 51.7,
                  "macd_hist": -21.433,
                  "bb_pband": 0.54,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -19.3,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 376000,
                  "change_pct": -1.57,
                  "rsi": 51.7,
                  "macd_hist": 967.461,
                  "bb_pband": 0.56,
                  "vol_ratio": 1,
                  "pct_52w_high": -33.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7636.36,
              "change_pct": -0.48,
              "date": "2026-09-09"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26253.34,
              "change_pct": -0.64,
              "date": "2026-09-09"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52380.66,
              "change_pct": -0.77,
              "date": "2026-09-09"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11931.32,
              "change_pct": 0.37,
              "date": "2026-09-09"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 223.67,
              "change_pct": -0.91,
              "date": "2026-09-09"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 521.09,
              "change_pct": 3.04,
              "date": "2026-09-09"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 1027.77,
              "change_pct": 2.75,
              "date": "2026-09-09"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 176.4,
              "change_pct": 1.33,
              "date": "2026-09-09"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 106.24,
              "change_pct": 1.69,
              "date": "2026-09-09"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 16.46,
              "change_pct": 4.71,
              "date": "2026-09-09"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 22.32,
              "change_pct": 2.81,
              "date": "2026-09-09"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.84,
              "change_pct": 0.65,
              "date": "2026-09-09"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1339.14,
              "change_pct": -0.33,
              "date": "2026-09-09"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 153.36,
              "change_pct": -0.32,
              "date": "2026-09-09"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 98.78,
              "change_pct": -0.06,
              "date": "2026-09-09"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 102.14,
              "change_pct": 4.31,
              "date": "2026-09-09"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 97.1,
              "change_pct": 4.37,
              "date": "2026-09-09"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4447,
              "change_pct": 1.21,
              "date": "2026-09-09"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 65269.33,
              "change_pct": -1.7,
              "date": "2026-09-08"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 25317.18,
              "change_pct": -0.38,
              "date": "2026-09-08"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6413.17,
              "change_pct": 0.14,
              "date": "2026-09-08"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 26007.63,
              "change_pct": 0,
              "date": "2026-09-08"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 716.31,
              "change_pct": -0.29,
              "date": "2026-09-09"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 574.29,
              "change_pct": 0.1,
              "date": "2026-09-09"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 62.47,
              "change_pct": 1.56,
              "date": "2026-09-09"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 126.68,
              "change_pct": -2.14,
              "date": "2026-09-09"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 81.71,
              "change_pct": -2.19,
              "date": "2026-09-09"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 12.21,
              "change_pct": -2.4,
              "date": "2026-09-09"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.74,
              "change_pct": -0.2,
              "date": "2026-09-09"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 37.32,
              "change_pct": -2.86,
              "date": "2026-09-09"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 284.057,
                "latest_date": "2026-07-01",
                "yoy_pct": 8.27,
                "mom_pct": -0.78
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 1
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 6
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 30
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 36
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 56
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 64
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 78
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 92
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 97
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 34,
                "label": "긍정",
                "summary": "호재: 주주환원, 상승, 기대 | 악재: 조정",
                "articles": [
                  "KB금융 차기 회장 11일 윤곽…양종희 연임론 부상 - topdaily.kr",
                  "키움증권 \"KB금융, 업종 내 주주환원율 1등…목표주가 상향\" - 매일경제 마켓"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 31,
                "label": "긍정",
                "summary": "호재: 급등, 반등, 상승",
                "articles": [
                  "반토막 났던 주식이 하루 만에 급등…정유·화학주 반등 시도 - 한국경제",
                  "LG화학·롯데케미칼, 유가 뛰는데 주가는 반등…업황 회복은 아직 - PRESS9"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 31,
                "label": "긍정",
                "summary": "호재: 매수, 순매수, 상승 | 악재: 급락, 경고",
                "articles": [
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 28,
                "label": "긍정",
                "summary": "호재: 급등, 강세, 상승 | 악재: 리스크",
                "articles": [
                  "SK하이닉스 주가, 오늘 급등하는 이유? - Investing.com 한국어",
                  "SK하이닉스 주가 장중 5%대 올라, 미국 반도체주 훈풍에 삼성전자도 강세 - 비즈니스포스트"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 25,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 강세 | 악재: 매도",
                "articles": [
                  "AI주식상승확률분석 : 삼성SDI (006400) 주가 전망과 상승확률 분석 - Investing.com 한국어",
                  "[오늘의 주목주] '2차전지 강세' 삼성SDI 주가 8%대 올라, 코스피 '기관 매수' 힘입어 7050선 상승 마감 - 비즈니스포스트"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 호황, 주주환원 | 악재: 리스크",
                "articles": [
                  "메모리 초호황인데…\"삼전 주가 상승 막는 MX·노조 리스크\" [분석+] - 한국경제",
                  "삼성전자 주가 재평가 조건은⋯“파운드리ㆍ주주환원이 관건” [찐코노미] - 이투데이"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 12,
                "label": "중립",
                "summary": "호재: 최대실적, 기대, 실적 개선 | 악재: 하락, 주의",
                "articles": [
                  "[클릭 e종목]올해 최대실적 기대 신한지주…목표가↑ - 아시아경제",
                  "“역대급 실적 + 1.4조 자사주…신한지주, 밸류업 대표주 승기 잡나” - 뉴스퀘스트"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": 9,
                "label": "중립",
                "summary": "호재: 상승, 매수, 강세 | 악재: 하락, 유상증자",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스",
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - yna.co.kr"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -21,
                "label": "부정",
                "summary": "호재: 상승, 성장 | 악재: 유상증자, 급락, 악재",
                "articles": [
                  "[주식] 3조 유상증자한 삼성바이오로직스, 주가는 7% 빠졌다 - 히트뉴스",
                  "[바이오브리핑] 삼성바이오로직스, 추가 유증 선긋기 - 시사저널e"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": -12,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락, 급락, 매각",
                "articles": [
                  "인수 효과는 아직, 주가는 추락…두올이 꺼낸 50억 ‘자사주 카드’ - 네이버 프리미엄콘텐츠"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -9,
                "label": "중립",
                "summary": "호재: 돌파 | 악재: 하락, 급락",
                "articles": [
                  "카카오페이증권, 국내주식 소수점 거래 20만 계좌 돌파 - 전자신문",
                  "신원근 '20만원' 약속 어디로…카카오페이 고점 대비 81.6% 증발, 주주들 '분통' - v.daum.net"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -6,
                "label": "중립",
                "summary": "호재: 기대 | 악재: 악재, 목표가 하향, 하락",
                "articles": [
                  "현대차, 이익목표 9% 상향에도…‘아틀라스’ 빠지자 주가도 빠졌다 - 중앙일보",
                  "현대차 주가, 9월 9일 장중 385,500원 소폭 강보합세 - 톱스타뉴스"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": -6,
                "label": "중립",
                "summary": "악재: 목표가 하향, 조정",
                "articles": [
                  "[기자수첩] 알테오젠에 붙은 '신뢰 할인' - 청년의사",
                  "신한투자 \"알테오젠 목표주가 하향, 노바티스 임상 실패로 피하주사 제형 전환 기술 가치 낮아져\" - 비즈니스포스트"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -6,
                "label": "중립",
                "summary": "호재: 매수, 순매수, 상승 | 악재: 하락, 블록딜, 과징금",
                "articles": []
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": -3,
                "label": "중립",
                "summary": "호재: 상승, 호재, 반등 | 악재: 폭락, 약세, 부진",
                "articles": [
                  "LG에너지솔루션 투자분석 2026. 09. 05 - 주달"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": 0,
                "label": "중립",
                "summary": "호재: 기대, 성장, 상승 | 악재: 하락, 급락, 목표가 하향",
                "articles": [
                  "美·加 관세 전쟁에 도요타·혼다 비상··· 현대차·기아 반사이익 '청신호' - 그린포스트코리아",
                  "현대차·기아, 4분기 실적 모멘텀 기대…\"하반기 선호주\"-다올투자증권 - PRESS9"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 8,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0192,
            "tree_metrics": {
              "avg_auc": 0.7164,
              "avg_accuracy": 0.6925
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7017,
              "accuracy": 0.6627
            },
            "relative_strength": [
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 269500,
                "relative_rank_pct": 80,
                "return_5d_pct": 7.58,
                "return_20d_pct": 12.53,
                "rsi": 49.2,
                "position_52w_pct": 65.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1856000,
                "relative_rank_pct": 73,
                "return_5d_pct": 15.07,
                "return_20d_pct": 30.25,
                "rsi": 63.1,
                "position_52w_pct": 58.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8970,
                "relative_rank_pct": 65.4,
                "return_5d_pct": 5.16,
                "return_20d_pct": -0.77,
                "rsi": 47.1,
                "position_52w_pct": 12.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1340,
                "relative_rank_pct": 59.1,
                "return_5d_pct": 5.02,
                "return_20d_pct": 0.75,
                "rsi": 13.3,
                "position_52w_pct": 14.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 11040,
                "relative_rank_pct": 40.2,
                "return_5d_pct": 6.87,
                "return_20d_pct": -22.03,
                "rsi": 36.9,
                "position_52w_pct": 7.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4720,
                "relative_rank_pct": 31.9,
                "return_5d_pct": 0.96,
                "return_20d_pct": 0.75,
                "rsi": 61.6,
                "position_52w_pct": 27.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4315,
                "relative_rank_pct": 20.3,
                "return_5d_pct": 0.7,
                "return_20d_pct": -0.69,
                "rsi": 61.7,
                "position_52w_pct": 35,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1411,
                "relative_rank_pct": 20,
                "return_5d_pct": -3.49,
                "return_20d_pct": -7.35,
                "rsi": 41.4,
                "position_52w_pct": 14.1,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1411,
                "relative_rank_pct": 20,
                "return_5d_pct": -3.49,
                "return_20d_pct": -7.35,
                "rsi": 41.4,
                "position_52w_pct": 14.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4315,
                "relative_rank_pct": 20.3,
                "return_5d_pct": 0.7,
                "return_20d_pct": -0.69,
                "rsi": 61.7,
                "position_52w_pct": 35,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4720,
                "relative_rank_pct": 31.9,
                "return_5d_pct": 0.96,
                "return_20d_pct": 0.75,
                "rsi": 61.6,
                "position_52w_pct": 27.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 11040,
                "relative_rank_pct": 40.2,
                "return_5d_pct": 6.87,
                "return_20d_pct": -22.03,
                "rsi": 36.9,
                "position_52w_pct": 7.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1340,
                "relative_rank_pct": 59.1,
                "return_5d_pct": 5.02,
                "return_20d_pct": 0.75,
                "rsi": 13.3,
                "position_52w_pct": 14.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8970,
                "relative_rank_pct": 65.4,
                "return_5d_pct": 5.16,
                "return_20d_pct": -0.77,
                "rsi": 47.1,
                "position_52w_pct": 12.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1856000,
                "relative_rank_pct": 73,
                "return_5d_pct": 15.07,
                "return_20d_pct": 30.25,
                "rsi": 63.1,
                "position_52w_pct": 58.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 269500,
                "relative_rank_pct": 80,
                "return_5d_pct": 7.58,
                "return_20d_pct": 12.53,
                "rsi": 49.2,
                "position_52w_pct": 65.8,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "당일 실제 종가는 FinanceDataReader 기반의 읽기 전용 결과로 KOSPI 7,033.92, KOSDAQ 836.92이며 시장 방향은 상승입니다. Morning 직전 자료에서는 KOSPI가 6,995.39로 4.61% 급등하고 20일선 대비 3.98% 높아 과열 상태였지만, 국내 대형 기술주와 2차전지·화학주가 추가 지지력을 제공했습니다. 전일 미국 S&P500·Nasdaq·Dow는 하락했으나 SOX는 0.37% 상승했고 AMD·MU·QCOM·INTC도 상승하여 반도체 경로가 국내 위험선호를 보완했습니다. 달러/원은 1,339.14로 0.33% 하락해 원화 부담이 완화되었습니다. 반면 브렌트유와 WTI는 각각 4.31%, 4.37% 상승했고 VIX도 4.71% 올라 상승의 지속성에는 부담으로 남았습니다.",
          "data_synthesis": {
            "domestic_market_close": {
              "actual_direction": "상승",
              "actual_return_pct": 0.55079019,
              "kosdaq_close": 836.9199829101562,
              "kospi_close": 7033.919921875,
              "read_only": true,
              "source": "evening-market.json",
              "status": "available"
            },
            "flows_news": {
              "notes": "시장 수급은 9월 7일 기준으로만 제공되며 관심종목별 수급과 당일 breadth는 누락되었습니다. 뉴스 키워드는 반도체·2차전지·금융의 긍정 신호와 바이오·인터넷·자동차의 혼조를 확인했습니다.",
              "source": "input/sentiment_2026-09-10.json",
              "status": "partial"
            },
            "macro_events": {
              "notes": "미국 8월 CPI는 9월 11일, FOMC는 9월 16일 예정이며 최신 CPI·PPI·실업률 스냅샷도 반영했습니다.",
              "source": "input/macros_2026-09-10.json",
              "status": "available"
            },
            "ml_relative_strength": {
              "evaluated_count": 0,
              "failure_count": 0,
              "pending_count": 266,
              "reason": "target_not_reached",
              "source": "ml_prediction.json and evening-market.json",
              "status": "pending"
            },
            "morning_frozen_judgement": {
              "confidence": 0.58,
              "direction": "보합",
              "snapshot_cutoff": "2026-09-10T07:31:01.467545+09:00",
              "source": "llm_prediction.json",
              "status": "frozen"
            },
            "overnight_cross_asset": {
              "notes": "미국 대형 지수 약세와 반도체 상대 강세, 원화 안정, 유가·VIX 상승을 함께 반영했습니다.",
              "source": "input/overnight_2026-09-10.json",
              "status": "available"
            },
            "sentiment_fear_greed": {
              "notes": "탐욕 71, 변동성 구성점수 98, 최근 10일 중 8일 상승으로 과열을 확인했습니다.",
              "source": "input/fear_greed_2026-09-10.json",
              "status": "available"
            },
            "technical_and_leaders": {
              "notes": "전일 기준 watchlist 기술지표와 지수 스냅샷을 사용했습니다. 삼성SDI·LG화학·포스코퓨처엠·LG에너지솔루션의 상승과 NAVER·카카오·자동차 일부 약세가 공존했습니다.",
              "source": "input/market_2026-09-10.json",
              "status": "available"
            }
          },
          "failure_analysis": "절대 방향 예측이 보합이었고 실제 방향은 상승이어서 LLM 판단 실패가 관측되었습니다. 원인은 국내 과열·변동성·예정 이벤트 리스크를 경고 신호로는 적절히 포착했지만, SOX 및 주요 반도체주의 상승과 원화 안정, 삼성SDI·LG화학·포스코퓨처엠 등 국내 선도주의 상승 폭이 당일 지수 방향에 미친 영향을 하방 상쇄 요인 수준으로만 제한한 데 있습니다. 최신 breadth와 당일 수급은 제공되지 않았으므로 그 부재를 상승 또는 하락 근거로 추정하지 않습니다. ML의 5거래일 상대강도 평가는 target_not_reached 상태이므로 이번 절대 방향 실패의 원인으로 사용하지 않습니다.",
          "improvement": "none",
          "rationale_vs_actual": "Morning의 보합 판단은 KOSPI의 단기 과열, 탐욕 지수 71, 최근 10일 중 8일 상승, 미국 대형 지수 약세, 유가 급등, CPI·FOMC 대기라는 위험 요인을 반영했습니다. 실제로는 반도체 및 일부 성장·2차전지·화학 종목의 동조 강세가 위험 요인보다 당일 지수 방향에 더 크게 작용했습니다. 삼성SDI는 8.30%, LG화학은 5.56%, 포스코퓨처엠은 6.37% 상승했고 삼성전자·SK하이닉스 관련 뉴스 심리도 긍정적이었습니다. 따라서 과열 신호를 방향 하락 또는 보합의 직접 근거로 과대 반영한 반면, 해외 반도체 counter-signal과 국내 선도주 확인을 충분히 상향 반영하지 못한 것이 오차의 핵심입니다.",
          "summary": "Morning은 KOSPI의 급등 후 과열 부담과 미국 주요 지수 약세를 근거로 보합을 예상했으나, 실제 KOSPI는 7,033.92로 마감하여 기준 종가 6,995.39 대비 0.55079019% 상승했습니다. 결과적으로 절대 방향 판단은 빗나갔습니다. 다만 미국 반도체 강세와 원화 안정, 국내 반도체·2차전지·화학 등 선도주의 지지력이 하방을 상쇄하면서 상승을 만든 점은 Morning의 상쇄 요인 분석과 일부 부합합니다. ML은 KOSPI 절대 방향이 아닌 5거래일 상대수익 신호이며, 아직 5개 관측 세션이 없어 평가하지 않았습니다.",
          "uncertainties_and_missing_sources": [
            "당일 장중 breadth와 최신 외국인·기관 수급은 제공되지 않았습니다.",
            "관심종목별 수급은 공급자 범위 제한으로 누락되었습니다.",
            "당일 종가 결과는 읽기 전용 시장 결과이며, 장중 경로와 종목별 기여도는 완전하게 관측되지 않았습니다.",
            "ML 5거래일 상대수익 평가는 아직 성숙하지 않아 평가·실패분석 대상이 아닙니다."
          ]
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 7033.919921875,
          "kosdaq_close": 836.9199829101562,
          "direction": "상승",
          "return_pct": 0.55079019,
          "observed_at": "2026-09-10T16:30:27.117575+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 8,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 266,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-e980024463ae9048",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-10/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-10/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-10-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-1a8d3736f41383ab"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-10-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-10-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-09-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-09",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-579c770bfaa106a4",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-09",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "보합",
          "confidence": 0.58,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "b381e7b644b517befe247c451d81a43a60464d353afcd4f3ef2643d7ce9e66a4",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "confidence",
              "rationale",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "국내 과열·되돌림 위험과 해외 반도체 counter-signal을 분리해 평가하여, 상승 신호를 인정하되 보합 전망과 확신 제한에 반영했습니다."
          },
          "snapshot_cutoff": "2026-09-09T07:31:08.746136+09:00",
          "generated_at": "2026-09-09T07:33:33.002290+09:00",
          "summary": "KOSPI는 6,995.39로 하루 4.61% 급등하고 20일선 대비 3.98% 웃돌아 단기 과열·되돌림 위험이 커졌습니다. 해외 증시는 약세였지만 SOX와 SMH는 1%대 상승해 반도체 counter-signal을 제공했습니다. 국내 과열과 해외 반도체 지지력이 충돌하므로 다음 세션은 보합으로 판단하며 확신은 제한합니다.",
          "market_summary": "KOSPI는 6,995.39로 4.61% 상승했고 20일선 6,727.59 대비 이격도는 +3.98%입니다. KOSDAQ은 822.19로 1.07% 상승했지만 20일 이격도는 -1.11%로 상대적으로 약합니다. KOSPI의 급등폭과 과열 신호가 단기 추격 매수의 부담입니다.",
          "overseas_market_and_overnight": "S&P500은 -0.58%, Nasdaq은 -0.32%, Dow는 -1.18%로 위험선호가 전반적으로 약했습니다. 반면 SOX는 +1.30%, SMH는 +1.19%, AMD는 +5.90%, 인텔은 +9.05%로 반도체 일부는 강했습니다. VIX 15.72는 +2.75%, VXN 21.71은 +8.33%로 변동성 경계가 높아졌습니다.",
          "macro": "미국 10년물 금리는 4.81%로 +0.46% 움직였고 브렌트유 99.50달러와 WTI 94.34달러는 각각 3%대 상승했습니다. 9월 11일 미국 8월 CPI와 9월 16일 FOMC가 예정되어 있어 금리·물가 민감도가 높습니다. 최신 CPI는 2026년 7월 기준 전년비 3.54%입니다.",
          "sentiment_and_supply": "KOSPI 공포·탐욕 점수는 71(탐욕)이고 최근 10일 중 8일 상승, 20일 변동성은 2.85%입니다. KOSPI 외국인은 2조5532억원, 기관은 2조6491억원 순매수로 집계됐지만 기준일이 9월 7일이라 당일 수급으로 해석할 수 없습니다. KOSDAQ은 외국인 -717억원, 기관 -1,292억원이며 종목별 수급은 누락되어 있습니다. 주요 종목 뉴스 감성은 삼성전자 -3, SK하이닉스 +3, 삼성SDI +21, HPSP +37 등 혼조입니다.",
          "ml_summary": "ML은 LightGBM·XGBoost·LSTM 3개 모델이 모두 참여했고 8개 종목을 예측했습니다. 트리 평균 정확도는 0.6775, AUC는 0.7079이며 LSTM AUC 0.5719, 정확도 0.5731입니다. 상대강도 신호는 삼성전자 5일 +3.26%, SK하이닉스 +5.91%를 포함하지만 모든 종목의 market_bias는 약세로, KOSPI 절대 방향과 분리해 참고해야 합니다.",
          "forecast": "국내 지수의 급등 후 과열 부담과 미국 주요 지수 약세가 상단을 제한하는 반면, SOX·SMH 및 일부 반도체 종목의 강세가 하방을 완충할 가능성이 있습니다. 따라서 다음 세션 KOSPI는 보합을 기본 시나리오로 판단합니다.",
          "rationale": [
            "KOSPI가 4.61% 급등하여 단기 차익실현과 되돌림 위험이 확대되었습니다.",
            "20일선 대비 +3.98% 이격과 공포·탐욕 71(탐욕), 최근 10일 중 8일 상승이 과열 신호를 강화합니다.",
            "S&P500 -0.58%, Nasdaq -0.32%, Dow -1.18%로 해외 broad market은 국내 상승을 지지하지 않았습니다.",
            "SOX +1.30%, SMH +1.19%, AMD +5.90% 등 반도체 counter-signal은 국내 대형 반도체의 하방을 일부 완충합니다.",
            "KOSPI 외국인·기관 순매수는 9월 7일 기준으로 긍정적이지만 9월 9일 장중 수급 근거로 사용할 수 없습니다.",
            "KOSDAQ은 +1.07%에 그치고 20일 이격도가 -1.11%여서 시장 전반의 상승 확산은 확인되지 않습니다.",
            "브렌트유 99.50달러와 WTI 94.34달러의 3%대 상승, 예정된 미국 CPI와 FOMC가 변동성 위험을 높입니다."
          ],
          "observation_points": [
            "KOSPI 7,000선 안착 여부와 장중 상승폭",
            "삼성전자·SK하이닉스의 반도체 동조 강도",
            "SOX·SMH와 미국 주요 지수의 방향 분화",
            "외국인·기관 당일 수급 및 시장 breadth",
            "9월 11일 미국 CPI를 앞둔 금리·유가·환율 반응"
          ],
          "uncertainties": [
            "수급 데이터 기준일이 9월 7일로 장중 당일 수급이 없습니다.",
            "종목별 외국인·기관 수급과 breadth 세부값이 없습니다.",
            "KOSPI 52주 고저 데이터가 없습니다.",
            "해외·거시 데이터의 최신 시점이 자산별로 9월 7~8일로 다릅니다.",
            "보합 판단은 주관적 확률이 아닌 제한된 확신도 0.58의 시나리오 판단입니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-09/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6995.39,
              "change_pct": 4.61,
              "sma20": 6727.59,
              "disparity_20_pct": null,
              "sentiment": 80,
              "sentiment_signal": "과열"
            },
            "kosdaq": {
              "close": 822.19,
              "change_pct": 1.07,
              "sma20": null,
              "disparity_20_pct": -1.11,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "fear_greed_score": 71,
            "fear_greed_label": "탐욕",
            "fear_greed_advice": "낙관 구간, 분할 매도 고려",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 70,
                "value": 3.98,
                "description": "KOSPI 20일선 대비 +3.98%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 98,
                "value": 2.85,
                "description": "KOSPI 20일 변동성 2.85%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 80,
                "value": 8,
                "description": "최근 10일 중 8일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 75,
                "value": 3.98,
                "description": "20일 이격도 +3.98%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 29,
                "value": 0.93,
                "description": "거래량 5일/20일 비율 0.93x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "데이터 없음"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-07",
              "collected_at": "2026-09-08T22:30:35.008625+00:00",
              "hash": "4a4053f3747c54f106a024657ad962904ad3e11fea432880aba7fb75b69f2f34",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": 2553157939517,
                  "unit": "KRW",
                  "display_value": 25531.57939517,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 2649064891596,
                  "unit": "KRW",
                  "display_value": 26490.64891596,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -71676261350,
                  "unit": "KRW",
                  "display_value": -716.7626135,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -129245883392,
                  "unit": "KRW",
                  "display_value": -1292.45883392,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-08",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 70,
                  "close": 113200,
                  "change_pct": -0.61,
                  "rsi": 59.8,
                  "macd_hist": 596.096,
                  "bb_pband": 0.87,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -2.8,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 173700,
                  "change_pct": -1.25,
                  "rsi": 54.3,
                  "macd_hist": 823.478,
                  "bb_pband": 0.78,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -10.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 180600,
                  "change_pct": -1.1,
                  "rsi": 55.4,
                  "macd_hist": 597.558,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -39.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 65,
                  "close": 118900,
                  "change_pct": -4.5,
                  "rsi": 57.9,
                  "macd_hist": 387.909,
                  "bb_pband": 0.7,
                  "vol_ratio": 1,
                  "pct_52w_high": -36,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 65,
                  "close": 205000,
                  "change_pct": -4.21,
                  "rsi": 53.7,
                  "macd_hist": 171.665,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -53.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 65,
                  "close": 34050,
                  "change_pct": -0.44,
                  "rsi": 55.6,
                  "macd_hist": 27.962,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -18,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 136800,
                  "change_pct": -1.51,
                  "rsi": 56.1,
                  "macd_hist": 417.817,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 65,
                  "close": 46500,
                  "change_pct": -0.53,
                  "rsi": 55.8,
                  "macd_hist": 46.798,
                  "bb_pband": 0.7,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -41.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "030200",
                  "name": "KT",
                  "score": 65,
                  "close": 54300,
                  "change_pct": -1.09,
                  "rsi": 54.9,
                  "macd_hist": 165.838,
                  "bb_pband": 0.77,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -21.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 54300,
                  "change_pct": -0.73,
                  "rsi": 51.9,
                  "macd_hist": 183.792,
                  "bb_pband": 0.62,
                  "vol_ratio": 0.2,
                  "pct_52w_high": -40.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 60,
                  "close": 1440000,
                  "change_pct": -1.77,
                  "rsi": 41.4,
                  "macd_hist": -17909.297,
                  "bb_pband": 0.03,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -27.5,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.03)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 60,
                  "close": 277000,
                  "change_pct": -3.15,
                  "rsi": 44.2,
                  "macd_hist": -6343.884,
                  "bb_pband": 0.01,
                  "vol_ratio": 1,
                  "pct_52w_high": -36.7,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.01)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 60,
                  "close": 53300,
                  "change_pct": 0,
                  "rsi": 66.3,
                  "macd_hist": 618.523,
                  "bb_pband": 0.83,
                  "vol_ratio": 1,
                  "pct_52w_high": -42.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 60,
                  "close": 30100,
                  "change_pct": -0.82,
                  "rsi": 68.6,
                  "macd_hist": 360.985,
                  "bb_pband": 0.88,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -3.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 140000,
                  "change_pct": -0.57,
                  "rsi": 53.4,
                  "macd_hist": -920.147,
                  "bb_pband": 0.49,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -17.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 60,
                  "close": 130800,
                  "change_pct": -2.17,
                  "rsi": 61.5,
                  "macd_hist": 1376.104,
                  "bb_pband": 0.8,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -12.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "033780",
                  "name": "KT&G",
                  "score": 58,
                  "close": 169800,
                  "change_pct": -0.29,
                  "rsi": 39.1,
                  "macd_hist": -500.06,
                  "bb_pband": 0.01,
                  "vol_ratio": 1,
                  "pct_52w_high": -11.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(39)",
                    "BB하단(0.01)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 270000,
                  "change_pct": -3.4,
                  "rsi": 48.6,
                  "macd_hist": 862.19,
                  "bb_pband": 0.41,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -38.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 382000,
                  "change_pct": -0.52,
                  "rsi": 53.6,
                  "macd_hist": 1475.258,
                  "bb_pband": 0.7,
                  "vol_ratio": 1,
                  "pct_52w_high": -32.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 55,
                  "close": 308000,
                  "change_pct": -1.28,
                  "rsi": 50.8,
                  "macd_hist": 2508.735,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -40.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "015760",
                  "name": "한국전력",
                  "score": 45,
                  "close": 34100,
                  "change_pct": 4.12,
                  "rsi": 53.2,
                  "macd_hist": 197.035,
                  "bb_pband": 0.75,
                  "vol_ratio": 1.7,
                  "pct_52w_high": -50.9,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 55,
                  "close": 131400,
                  "change_pct": 3.55,
                  "rsi": 61.4,
                  "macd_hist": 792.724,
                  "bb_pband": 0.91,
                  "vol_ratio": 2.1,
                  "pct_52w_high": -33.8,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.91)",
                    "거래량x2.1",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 50,
                  "close": 89500,
                  "change_pct": 1.82,
                  "rsi": 61.8,
                  "macd_hist": 772.206,
                  "bb_pband": 0.97,
                  "vol_ratio": 1.9,
                  "pct_52w_high": -35.7,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.97)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 50,
                  "close": 159400,
                  "change_pct": 1.14,
                  "rsi": 65.8,
                  "macd_hist": 1007.625,
                  "bb_pband": 0.96,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -10,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.96)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 45,
                  "close": 68900,
                  "change_pct": 0.73,
                  "rsi": 52.2,
                  "macd_hist": 512.274,
                  "bb_pband": 0.64,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -46.6,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 45,
                  "close": 1793000,
                  "change_pct": 0.56,
                  "rsi": 55.3,
                  "macd_hist": 27280.955,
                  "bb_pband": 0.9,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -40,
                  "alignment": "혼조",
                  "reasons": [
                    "BB상단(0.90)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "035250",
                  "name": "강원랜드",
                  "score": 45,
                  "close": 14850,
                  "change_pct": 0.41,
                  "rsi": 57.5,
                  "macd_hist": 39.306,
                  "bb_pband": 0.91,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -24.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB상단(0.91)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "352820",
                  "name": "하이브",
                  "score": 55,
                  "close": 181400,
                  "change_pct": 0.33,
                  "rsi": 50.2,
                  "macd_hist": 1671.613,
                  "bb_pband": 0.82,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -55.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 60,
                  "close": 53300,
                  "change_pct": 0,
                  "rsi": 66.3,
                  "macd_hist": 618.523,
                  "bb_pband": 0.83,
                  "vol_ratio": 1,
                  "pct_52w_high": -42.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 45,
                  "close": 269500,
                  "change_pct": -0.19,
                  "rsi": 54,
                  "macd_hist": 1431.575,
                  "bb_pband": 0.71,
                  "vol_ratio": 1,
                  "pct_52w_high": -28,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 55,
                  "close": 1370000,
                  "change_pct": -5.78,
                  "rsi": 48.9,
                  "macd_hist": 6646.698,
                  "bb_pband": 0.41,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -43.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "036570",
                  "name": "엔씨소프트",
                  "score": 48,
                  "close": 211500,
                  "change_pct": -5.16,
                  "rsi": 36.9,
                  "macd_hist": -752.726,
                  "bb_pband": 0.14,
                  "vol_ratio": 1.6,
                  "pct_52w_high": -38.4,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 50,
                  "close": 230000,
                  "change_pct": -5.15,
                  "rsi": 50.6,
                  "macd_hist": -932.138,
                  "bb_pband": 0.33,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -40.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 65,
                  "close": 118900,
                  "change_pct": -4.5,
                  "rsi": 57.9,
                  "macd_hist": 387.909,
                  "bb_pband": 0.7,
                  "vol_ratio": 1,
                  "pct_52w_high": -36,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 65,
                  "close": 205000,
                  "change_pct": -4.21,
                  "rsi": 53.7,
                  "macd_hist": 171.665,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -53.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 48,
                  "close": 415000,
                  "change_pct": -3.94,
                  "rsi": 34.3,
                  "macd_hist": -6091.979,
                  "bb_pband": 0.13,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -49.5,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(34)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 50,
                  "close": 348500,
                  "change_pct": -3.86,
                  "rsi": 47.5,
                  "macd_hist": -1139.084,
                  "bb_pband": 0.2,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -33.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 270000,
                  "change_pct": -3.4,
                  "rsi": 48.6,
                  "macd_hist": 862.19,
                  "bb_pband": 0.41,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -38.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "035720",
                  "name": "카카오",
                  "score": 50,
                  "close": 35400,
                  "change_pct": -3.15,
                  "rsi": 43.1,
                  "macd_hist": -158.663,
                  "bb_pband": 0.24,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -49.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 60,
                  "close": 277000,
                  "change_pct": -3.15,
                  "rsi": 44.2,
                  "macd_hist": -6343.884,
                  "bb_pband": 0.01,
                  "vol_ratio": 1,
                  "pct_52w_high": -36.7,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.01)"
                  ],
                  "is_watchlist": true
                }
              ],
              "highs_52w": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 70,
                  "close": 113200,
                  "change_pct": -0.61,
                  "rsi": 59.8,
                  "macd_hist": 596.096,
                  "bb_pband": 0.87,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -2.8,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                }
              ]
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7673.52,
              "change_pct": -0.58,
              "date": "2026-09-08"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26421.41,
              "change_pct": -0.32,
              "date": "2026-09-08"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52786.07,
              "change_pct": -1.18,
              "date": "2026-09-08"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11887.87,
              "change_pct": 1.3,
              "date": "2026-09-08"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 225.73,
              "change_pct": -2.01,
              "date": "2026-09-08"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 505.74,
              "change_pct": 5.9,
              "date": "2026-09-08"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 1000.26,
              "change_pct": -1.61,
              "date": "2026-09-08"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 174.09,
              "change_pct": 3.17,
              "date": "2026-09-08"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 104.47,
              "change_pct": 9.05,
              "date": "2026-09-08"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 15.72,
              "change_pct": 2.75,
              "date": "2026-09-08"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 21.71,
              "change_pct": 8.33,
              "date": "2026-09-08"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.81,
              "change_pct": 0.46,
              "date": "2026-09-08"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1340.22,
              "change_pct": -0.36,
              "date": "2026-09-08"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 153.63,
              "change_pct": -1.64,
              "date": "2026-09-08"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 98.84,
              "change_pct": -0.33,
              "date": "2026-09-08"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 99.5,
              "change_pct": 3.34,
              "date": "2026-09-08"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 94.34,
              "change_pct": 3.13,
              "date": "2026-09-08"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4398.8,
              "change_pct": -0.7,
              "date": "2026-09-08"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 66399.84,
              "change_pct": 2.12,
              "date": "2026-09-07"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 25413.12,
              "change_pct": -0.93,
              "date": "2026-09-07"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6403.99,
              "change_pct": 0.17,
              "date": "2026-09-07"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 26006.53,
              "change_pct": -0.15,
              "date": "2026-09-07"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 718.36,
              "change_pct": -0.08,
              "date": "2026-09-08"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 573.73,
              "change_pct": 1.19,
              "date": "2026-09-08"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 61.51,
              "change_pct": -1.96,
              "date": "2026-09-08"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 129.45,
              "change_pct": 0.6,
              "date": "2026-09-08"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 83.54,
              "change_pct": 1.53,
              "date": "2026-09-08"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 12.51,
              "change_pct": 4.77,
              "date": "2026-09-08"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.78,
              "change_pct": -0.05,
              "date": "2026-09-08"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 38.42,
              "change_pct": -0.72,
              "date": "2026-09-08"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 284.057,
                "latest_date": "2026-07-01",
                "yoy_pct": 8.27,
                "mom_pct": -0.78
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 2
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 7
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 31
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 37
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 57
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 65
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 79
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 93
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 98
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 37,
                "label": "긍정",
                "summary": "호재: 상승, 성장, 기대감 | 악재: 급락, 경고",
                "articles": [
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 신고가, 기대 | 악재: 하락",
                "articles": [
                  "AI주식상승확률분석 : 삼성SDI (006400) 주가 전망과 상승확률 분석 - Investing.com 한국어",
                  "삼성SDI 투자 재원 확보 속 삼성생명 특별계정, 보유주식 16% ‘싹쓸이’ - 경인방송 뉴스"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 12,
                "label": "중립",
                "summary": "호재: 기대, 상승, 주주환원 | 악재: 주의, 약세",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - v.daum.net",
                  "신한·하나금융, 금리·환율 업고 훨훨...자사주 추가 매입 기대까지 - 오피니언뉴스"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 9,
                "label": "중립",
                "summary": "호재: 반등, 회복, 급등 | 악재: 하락, 악재",
                "articles": [
                  "LG화학·롯데케미칼, 유가 뛰는데 주가는 반등…업황 회복은 아직 - PRESS9",
                  "LG화학 주가, 급등세... 이유는? - 금강일보"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 6,
                "label": "중립",
                "summary": "호재: 자사주 매입, 주주환원, 매수 | 악재: 하락, 급락",
                "articles": [
                  "셀트리온, 시밀러 시장서 도약...2026년 실적·주가 분수령 - 증권일보",
                  "실적 좋다더니 \"주가는 왜 이래\"…셀트리온, 목표가 내린 이유 [종목+] - 한국경제"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": 6,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락",
                "articles": [
                  "인수 효과는 아직, 주가는 추락…두올이 꺼낸 50억 ‘자사주 카드’ - 네이버 프리미엄콘텐츠",
                  "AI주식상승확률분석 : NAVER (035420) 주가 전망과 상승확률 분석 - Investing.com 한국어"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 3,
                "label": "중립",
                "summary": "호재: 강세, 상승, 호황 | 악재: 폭락, 리스크",
                "articles": [
                  "210만원→100만원대…닉스·SK스퀘어 주가, 폭등 뒤 폭락 ‘한몸’ - 매일경제",
                  "\"하닉 믿고 샀는데\" '218만원→94만원' 주가 반토막…'이 주식' 목표가마저 '뚝' - news.nate.com"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -12,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 유상증자, 하락",
                "articles": [
                  "[바이오브리핑] 삼성바이오로직스, 추가 유증 선긋기 - 시사저널e",
                  "[주식] 3조 유상증자한 삼성바이오로직스, 주가는 7% 빠졌다 - 히트뉴스"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -9,
                "label": "중립",
                "summary": "호재: 기대 | 악재: 악재, 하락, 목표가 하향",
                "articles": [
                  "환율 공통 악재에도⋯현대차, 삼전닉스 주가 갈린 이유 - v.daum.net",
                  "현대차, 이익목표 9% 상향에도…‘아틀라스’ 빠지자 주가도 빠졌다 - 중앙일보"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": -9,
                "label": "중립",
                "summary": "악재: 하락, 목표가 하향",
                "articles": [
                  "하나증권 \"삼성물산, 주가 여전히 저평가…목표가↑\" - 연합뉴스",
                  "[오너 자본방정식] 삼성물산·제일모직 합병 11년…이재용 회장이 얻은 것 - v.daum.net"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": -6,
                "label": "중립",
                "summary": "호재: 반등 | 악재: 하락",
                "articles": [
                  "LG에너지솔루션 투자분석 2026. 09. 05 - 주달"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -6,
                "label": "중립",
                "summary": "호재: 회복 | 악재: 하락, 유상증자",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - news.einfomax.co.kr",
                  "에코프로비엠 유증 절차 개시…8,900억 규모로 축소 - 연합뉴스TV"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -6,
                "label": "중립",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 하락, 블록딜, 과징금",
                "articles": []
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": -3,
                "label": "중립",
                "summary": "호재: 반등, 주주환원, 매수 | 악재: 폭락, 하락",
                "articles": [
                  "\"2028년까지 메모리 공급난\"…증권가, 삼성전자 '주가 재평가' 전망 - 지디넷코리아",
                  "삼성전자·SK하이닉스 3분기 실적 전망 상향…주가도 동반 반등 - v.daum.net"
                ]
              },
              {
                "ticker": "000270",
                "name": "기아",
                "score": -3,
                "label": "중립",
                "summary": "호재: 성장, 기대, 상승 | 악재: 하락, 급락",
                "articles": [
                  "美·加 관세 전쟁에 도요타·혼다 비상··· 현대차·기아 반사이익 '청신호' - 그린포스트코리아",
                  "3개월간 45% 급락…국내 자동차株 역성장 그늘에 주가 내리막 - 한국경제"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 0,
                "label": "중립",
                "summary": "호재: 상승, 주주환원, 강세 | 악재: 조정, 위기, 리스크",
                "articles": [
                  "우리금융도 50% 넘었다…4대 금융, 외국인 지분 ‘과반’↑ - 디지털데일리",
                  "KB금융지주 차기 회장 이번 주 결정, 양종희 우세 전망 속 관전 포인트는? - 비즈니스포스트"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": 0,
                "label": "중립",
                "summary": "호재: 성장, 기대 | 악재: 조정, 하락",
                "articles": [
                  "하나증권 \"알테오젠 무상증자 결정 따라 목표주가 조정, 기술수출 현금 유입시기 주목\" - 비즈니스포스트",
                  "[기자수첩] 알테오젠에 붙은 '신뢰 할인' - 청년의사"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 8,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.038,
            "tree_metrics": {
              "avg_auc": 0.7079,
              "avg_accuracy": 0.6775
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.5719,
              "accuracy": 0.5731
            },
            "relative_strength": [
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 269500,
                "relative_rank_pct": 80,
                "return_5d_pct": 3.26,
                "return_20d_pct": 17.17,
                "rsi": 59.8,
                "position_52w_pct": 65.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1793000,
                "relative_rank_pct": 74.5,
                "return_5d_pct": 5.91,
                "return_20d_pct": 26.27,
                "rsi": 69.3,
                "position_52w_pct": 56.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8650,
                "relative_rank_pct": 57.2,
                "return_5d_pct": -2.7,
                "return_20d_pct": -2.59,
                "rsi": 47.3,
                "position_52w_pct": 11.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4720,
                "relative_rank_pct": 49.1,
                "return_5d_pct": -1.26,
                "return_20d_pct": 1.83,
                "rsi": 68.4,
                "position_52w_pct": 27.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10490,
                "relative_rank_pct": 46.9,
                "return_5d_pct": -4.55,
                "return_20d_pct": -26.07,
                "rsi": 30.6,
                "position_52w_pct": 5.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4355,
                "relative_rank_pct": 32.4,
                "return_5d_pct": 0.35,
                "return_20d_pct": 1.04,
                "rsi": 70.5,
                "position_52w_pct": 36.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1322,
                "relative_rank_pct": 21.3,
                "return_5d_pct": 1.07,
                "return_20d_pct": 4.42,
                "rsi": 43.5,
                "position_52w_pct": 13.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1430,
                "relative_rank_pct": 20,
                "return_5d_pct": -3.7,
                "return_20d_pct": -4.79,
                "rsi": 46.2,
                "position_52w_pct": 15,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1430,
                "relative_rank_pct": 20,
                "return_5d_pct": -3.7,
                "return_20d_pct": -4.79,
                "rsi": 46.2,
                "position_52w_pct": 15,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1322,
                "relative_rank_pct": 21.3,
                "return_5d_pct": 1.07,
                "return_20d_pct": 4.42,
                "rsi": 43.5,
                "position_52w_pct": 13.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4355,
                "relative_rank_pct": 32.4,
                "return_5d_pct": 0.35,
                "return_20d_pct": 1.04,
                "rsi": 70.5,
                "position_52w_pct": 36.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10490,
                "relative_rank_pct": 46.9,
                "return_5d_pct": -4.55,
                "return_20d_pct": -26.07,
                "rsi": 30.6,
                "position_52w_pct": 5.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4720,
                "relative_rank_pct": 49.1,
                "return_5d_pct": -1.26,
                "return_20d_pct": 1.83,
                "rsi": 68.4,
                "position_52w_pct": 27.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8650,
                "relative_rank_pct": 57.2,
                "return_5d_pct": -2.7,
                "return_20d_pct": -2.59,
                "rsi": 47.3,
                "position_52w_pct": 11.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1793000,
                "relative_rank_pct": 74.5,
                "return_5d_pct": 5.91,
                "return_20d_pct": 26.27,
                "rsi": 69.3,
                "position_52w_pct": 56.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 269500,
                "relative_rank_pct": 80,
                "return_5d_pct": 3.26,
                "return_20d_pct": 17.17,
                "rsi": 59.8,
                "position_52w_pct": 65.8,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "국내에서는 전일 급등 뒤에도 KOSPI가 7,000선을 넘어 상승을 이어가며 지수 상단의 관성이 유지되었습니다. 해외 broad market은 S&P500 -0.58%, Nasdaq -0.32%, Dow -1.18%로 약했지만 SOX +1.30%, SMH +1.19%, AMD +5.90%, 인텔 +9.05%로 반도체 내 상승 신호가 뚜렷했습니다. 이 counter-signal이 국내 반도체와 대형주 하방을 완충했을 가능성이 높습니다. 다만 당일 외국인·기관 수급, breadth 세부값, 종목별 수급은 확보되지 않아 상승 원인을 단일 요인으로 확정할 수 없습니다.",
          "data_synthesis": {
            "domestic_market": "KOSPI 7,051.64, 기준가 대비 +0.80%; KOSDAQ 830.37. KOSPI는 7,000선을 상회했고 KOSDAQ도 상승했습니다.",
            "fear_greed": "KOSPI 공포·탐욕 점수는 71(탐욕), 최근 10일 중 8일 상승, 20일 변동성은 2.85%였습니다.",
            "flows": "KOSPI 외국인·기관 순매수와 KOSDAQ 수급은 9월 7일 기준으로만 제공되며 9월 9일 당일 수급으로 사용하지 않았습니다.",
            "intraday_context": "실시간 장중 breadth와 종목별 외국인·기관 수급은 제공되지 않았습니다. 확인 가능한 장 마감 지수만으로 확산 강도는 판단하지 않습니다.",
            "leaders_and_breadth": "전일 자료상 삼성전자와 SK하이닉스의 5일 상대강도는 각각 +3.26%, +5.91%였고, 반도체 관련 해외 지표는 강했습니다. 전체 breadth는 미확인입니다.",
            "macro_events": "미국 10년물 금리 4.81%, 브렌트유 99.50달러, WTI 94.34달러로 금리·유가 부담이 있었으며, 9월 11일 미국 CPI와 9월 16일 FOMC가 예정되어 있습니다.",
            "ml_relative_strength": "ML은 LightGBM·XGBoost·LSTM 3개 모델이 참여해 8개 종목을 예측했으나, 5세션 결과가 성숙하지 않아 평가 0건·pending 258건입니다. ML 상대강도와 KOSPI 절대 방향은 별개로 유지합니다.",
            "morning_judgment": "보합, confidence 0.58. 과열·해외 broad market 약세를 상단 제한 요인으로, 반도체 강세를 하방 완충 요인으로 판단했습니다.",
            "news": "주요 종목 뉴스 감성은 삼성전자 -3, SK하이닉스 +3, 삼성SDI +21, HPSP +37 등 혼조였습니다.",
            "overnight_cross_asset": "S&P500·Nasdaq·Dow는 하락했으나 SOX·SMH와 AMD·인텔은 상승했습니다. broad risk-off와 semiconductor-specific strength가 공존했습니다."
          },
          "failure_analysis": "LLM 절대 방향 판단에서 국내 과열·되돌림 위험과 해외 broad market 약세를 과대 반영하고, 반도체 섹터의 독립적인 상승 counter-signal과 국내 대형 반도체의 지지 가능성을 최종 방향에 충분히 반영하지 못했습니다. 당일 breadth와 수급이 없다는 데이터 제약 때문에 상승 확산 여부를 확인할 수 없었지만, 이를 곧바로 보합 근거로 사용하는 대신 상승·보합 양쪽 시나리오의 조건으로 분리했어야 합니다.",
          "improvement": "none",
          "rationale_vs_actual": "보합 판단의 핵심 근거였던 KOSPI의 과열과 해외 broad market 약세는 실제 장에서도 상승폭을 제한하는 위험 요인으로 남았습니다. 그러나 방향 결정에서는 위험 요인과 상승 촉매의 균형이 부족했습니다. Morning 데이터에 이미 SOX·SMH 강세와 삼성전자·SK하이닉스의 5일 상대강도 신호가 있었으므로, 이를 국내 지수의 상승 지속 가능성을 남기는 조건부 시나리오로 더 명시했어야 합니다.",
          "summary": "Morning은 KOSPI 6,995.39의 4.61% 급등, 20일선 대비 +3.98% 이격, 탐욕 구간을 근거로 차익실현과 되돌림 위험을 크게 반영했습니다. 실제 종가는 7,051.64로 기준가 대비 0.80% 상승하여 방향은 상승이었지만 추가 상승폭은 제한되었습니다. 따라서 과열 부담을 방향 신호로 사용한 점은 타당했으나, SOX·SMH·AMD·인텔 등 반도체 counter-signal과 국내 대형 반도체의 상대적 지지력을 최종 방향에 충분히 반영하지 못한 것이 핵심 오판입니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 7051.64013671875,
          "kosdaq_close": 830.3699951171875,
          "direction": "상승",
          "return_pct": 0.80410294,
          "observed_at": "2026-09-09T16:30:14.545076+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 8,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 258,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "approved",
          "proposal_id": "proposal-7c0bba9fbb0fe77c",
          "actual_applied": false,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-09/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-09/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-09-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-579c770bfaa106a4"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-09-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-09-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-08-supply-repair-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-08",
        "run_status": "success",
        "quality_status": "ok",
        "input_snapshot_id": "input-snapshot-2df019eb6bcd33b4",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-08",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "상승",
          "confidence": 0.58,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "b381e7b644b517befe247c451d81a43a60464d353afcd4f3ef2643d7ce9e66a4",
            "used": true,
            "used_fields": [
              "summary",
              "forecast",
              "confidence",
              "rationale",
              "key_variables",
              "uncertainties_and_missing_sources"
            ],
            "application_note": "과열·되돌림 시나리오와 해외 counter-signal 충돌을 별도 평가하고 수급·breadth 결측을 방향 근거로 대체하지 않는 규칙을 이번 판단의 요약·전망·확신·근거·변수·불확실성에 반영했습니다."
          },
          "snapshot_cutoff": "2026-09-08T19:04:09.702435+09:00",
          "generated_at": "2026-09-08T19:09:20.337556+09:00",
          "summary": "직전 확정 세션의 KOSPI는 6,995.39로 4.61% 상승했고 KOSDAQ은 822.19로 1.07% 상승했습니다. KOSPI는 20일선 대비 3.98% 이격과 공포·탐욕 71점으로 과열 신호가 있으나, 외국인과 기관은 각각 25,531.58억원과 26,490.65억원을 순매수해 국내 대형주 수급은 강하게 확인됩니다. 반면 KOSDAQ은 외국인 716.76억원, 기관 1,292.46억원 순매도로 시장 내부의 수급 방향은 엇갈립니다. 미국 주요 지수는 약세였지만 SOX·AMD·마이크론·인텔은 강했고, 원화 강세는 우호적이나 금리와 유가 상승 및 CPI·FOMC 경계가 남아 있습니다. 기본 방향은 상승으로 판단하되 과열과 시장별 수급 divergence를 반영해 확신은 중간 수준으로 제한합니다.",
          "market_summary": "KOSPI는 6,995.39로 전일 대비 4.61% 상승했고 KOSDAQ은 822.19로 1.07% 상승했습니다. KOSPI의 20일선 대비 이격은 +3.98%이고 탐욕 지수는 71점입니다. 기술 스캔은 삼성전자·현대차 등 일부 종목의 역배열과 삼성바이오로직스·삼성SDI·신한지주 등 정배열을 함께 보여 전면적 내부 동조화로 단정하지 않습니다.",
          "overseas_market_and_overnight": "S&P500 -0.38%, Nasdaq -0.29%, Dow -0.51%로 미국 주요 지수는 약세였으나 SOX +3.37%, AMD +4.69%, MU +6.10%, 인텔 +4.51%, SMH +2.61%로 반도체 위험선호는 강했습니다. 니케이225 -1.70%, 항셍 -0.38%, 유로 STOXX50 -0.14%, DAX -0.35%로 아시아·유럽 지수 확인은 일관되지 않았습니다.",
          "macro": "CPI 최신치는 전년비 +3.54%, PPI는 +8.27%, 실업률은 4.1%입니다. 미국 8월 CPI는 9월 11일, FOMC는 9월 16일 예정되어 금리·물가 재평가 위험이 있습니다. 미국 10년물은 4.78%로 +0.46%, 브렌트유와 WTI는 각각 +2.26%, +2.50% 상승해 비용과 금리 부담을 함께 확인해야 합니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 71점 탐욕이며 KOSPI의 20일선 이격은 +3.98%입니다. Daum Finance API의 2026-09-07 시장 수급은 KOSPI 외국인 +25,531.58억원, 기관 +26,490.65억원으로 강한 순매수였지만 KOSDAQ 외국인 -716.76억원, 기관 -1,292.46억원으로 반대였습니다. 따라서 수급은 복구되어 available이지만 시장 전체를 동일 방향으로 단순화하지 않습니다. 뉴스 감성도 반도체·금융 일부 긍정과 자동차·바이오·2차전지의 혼조가 공존합니다.",
          "ml_summary": "ML은 LightGBM·XGBoost·LSTM 요청 계약으로 8개 종목 예측을 생성했고 현재 모델 bias는 약세입니다. 예측 target은 5세션 후 KOSPI 대비 상대 초과수익이므로 KOSPI 절대 방향을 대신하지 않습니다. 이번 supply repair에서는 수급 값을 ML feature로 새로 주입하지 않고 기존 ML contract를 그대로 사용합니다.",
          "forecast": "KOSPI는 강한 KOSPI foreign/institutional 동시 순매수와 반도체 해외 강세를 바탕으로 상승 시도가 우세할 것으로 판단합니다. 다만 전일 급등과 탐욕·이격 과열, KOSDAQ 수급 약세, 미국 주요 지수와 아시아 지수의 혼조, CPI·FOMC 경계 때문에 추격 상승보다 차익실현과 시장별 divergence를 우선 관찰합니다.",
          "rationale": [
            "KOSPI가 6,995.39로 전일 대비 +4.61%, KOSDAQ이 822.19로 +1.07% 상승해 국내 추세는 강했습니다.",
            "KOSPI 외국인 +25,531.58억원과 기관 +26,490.65억원이 동시에 확인되어 KOSPI 대형주 위험선호를 지지했습니다.",
            "KOSDAQ 외국인 -716.76억원과 기관 -1,292.46억원은 KOSPI와 다른 수급을 보여 시장 전체의 일방적 강세 해석을 제한합니다.",
            "SOX +3.37%, AMD +4.69%, MU +6.10%, 인텔 +4.51%는 국내 반도체 심리에 우호적인 해외 확인 신호입니다.",
            "S&P500·Nasdaq·Dow 약세와 니케이·항셍 하락은 위험선호가 전면적으로 확인되지 않았음을 보여줍니다.",
            "KOSPI 20일선 이격 +3.98%와 탐욕 71점은 상승 추세 안에서도 단기 되돌림과 차익실현 위험을 높입니다.",
            "미국 10년물 4.78%와 유가 상승, 9월 CPI·FOMC 일정은 금리·물가 경계 요인입니다.",
            "ML 약세 bias는 5세션 상대수익 신호이므로 절대 KOSPI 하락 판단으로 치환하지 않습니다."
          ],
          "observation_points": [
            "KOSPI 6,995.39 및 20일선 이격 +3.98%",
            "KOSPI foreign +25,531.58억원 / institution +26,490.65억원",
            "KOSDAQ foreign -716.76억원 / institution -1,292.46억원",
            "SOX·AMD·MU·인텔의 반도체 강세 지속 여부",
            "미국 주요 지수와 아시아 지수의 약세 지속 여부",
            "공포·탐욕 71점 이후 차익실현 강도",
            "9월 11일 미국 CPI와 9월 16일 FOMC"
          ],
          "uncertainties": [
            "수급은 시장 수준으로 복구되었지만 현재 provider는 종목별 watchlist 수급을 제공하지 않아 watchlist 수치는 null입니다.",
            "KOSPI와 KOSDAQ의 수급 방향이 달라 국내 시장 내부 breadth와 업종별 확산을 단일 방향으로 확정하지 않습니다.",
            "미국 주요 지수와 아시아 지수의 방향이 엇갈려 해외 위험선호의 지속성을 확인해야 합니다.",
            "ML 예측은 5세션 상대수익 target이며 현재 평가 maturity는 pending입니다.",
            "CPI와 FOMC 발표 전이므로 금리·물가 경로의 실제 충격은 확인되지 않았습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-08/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6995.39,
              "change_pct": 4.61,
              "sma20": 6727.59,
              "disparity_20_pct": null,
              "sentiment": 80,
              "sentiment_signal": "과열"
            },
            "kosdaq": {
              "close": 822.19,
              "change_pct": 1.07,
              "sma20": null,
              "disparity_20_pct": -1.11,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "fear_greed_score": 71,
            "fear_greed_label": "탐욕",
            "fear_greed_advice": "낙관 구간, 분할 매도 고려",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 70,
                "value": 3.98,
                "description": "KOSPI 20일선 대비 +3.98%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 98,
                "value": 2.85,
                "description": "KOSPI 20일 변동성 2.85%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 80,
                "value": 8,
                "description": "최근 10일 중 8일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 75,
                "value": 3.98,
                "description": "20일 이격도 +3.98%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 29,
                "value": 0.93,
                "description": "거래량 5일/20일 비율 0.93x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "데이터 없음"
              }
            ],
            "supply": {
              "status": "available",
              "available": true,
              "source": "Daum Finance API",
              "reason": null,
              "as_of": "2026-09-07",
              "collected_at": "2026-09-08T10:03:33.188105+00:00",
              "hash": "a45f71a0b10160245d449ea1770ccc08792c4f58dabc811e4a7cf3a81e5958cc",
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "as_of": "2026-09-07"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": 2553157939517,
                  "unit": "KRW",
                  "display_value": 25531.57939517,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": 2649064891596,
                  "unit": "KRW",
                  "display_value": 26490.64891596,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSPI",
                  "api": "https://finance.daum.net/api/investor/KOSPI/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "available",
                  "reason": null,
                  "net_value": -71676261350,
                  "unit": "KRW",
                  "display_value": -716.7626135,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "available",
                  "reason": null,
                  "net_value": -129245883392,
                  "unit": "KRW",
                  "display_value": -1292.45883392,
                  "display_unit": "KRW_100M",
                  "as_of": "2026-09-07",
                  "provider": "Daum Finance API",
                  "reference": "https://finance.daum.net/domestic/investors/KOSDAQ",
                  "api": "https://finance.daum.net/api/investor/KOSDAQ/days"
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-07",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 72,
                  "close": 214000,
                  "change_pct": 6.2,
                  "rsi": 59.2,
                  "macd_hist": 446.406,
                  "bb_pband": 0.87,
                  "vol_ratio": 1.7,
                  "pct_52w_high": -51.1,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 541000,
                  "change_pct": -1.28,
                  "rsi": 57.6,
                  "macd_hist": 1025.822,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -25.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 182600,
                  "change_pct": -0.54,
                  "rsi": 56.6,
                  "macd_hist": 1198.444,
                  "bb_pband": 0.7,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -39,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 65,
                  "close": 656000,
                  "change_pct": -1.06,
                  "rsi": 50.8,
                  "macd_hist": 1186.523,
                  "bb_pband": 0.56,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -13.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 65,
                  "close": 34200,
                  "change_pct": 3.01,
                  "rsi": 56.7,
                  "macd_hist": 41.924,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -17.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 65,
                  "close": 46750,
                  "change_pct": -1.16,
                  "rsi": 56.6,
                  "macd_hist": 70.784,
                  "bb_pband": 0.76,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -41,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 126900,
                  "change_pct": 6.02,
                  "rsi": 58.6,
                  "macd_hist": 357.379,
                  "bb_pband": 0.82,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -36,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 54700,
                  "change_pct": 0,
                  "rsi": 53.1,
                  "macd_hist": 226.137,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.1,
                  "pct_52w_high": -40,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 62,
                  "close": 87900,
                  "change_pct": 10.98,
                  "rsi": 60.3,
                  "macd_hist": 420.617,
                  "bb_pband": 0.95,
                  "vol_ratio": 2.2,
                  "pct_52w_high": -36.9,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "BB상단(0.95)",
                    "거래량x2.2",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 60,
                  "close": 1466000,
                  "change_pct": 1.31,
                  "rsi": 44.3,
                  "macd_hist": -17155.221,
                  "bb_pband": 0.09,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -26.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.09)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 60,
                  "close": 53300,
                  "change_pct": 4.92,
                  "rsi": 66.3,
                  "macd_hist": 669.152,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -42.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 60,
                  "close": 138900,
                  "change_pct": 3.43,
                  "rsi": 59.5,
                  "macd_hist": 553.098,
                  "bb_pband": 0.9,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -2.5,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.90)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 242500,
                  "change_pct": 1.89,
                  "rsi": 57.9,
                  "macd_hist": -337.646,
                  "bb_pband": 0.83,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -37.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 140800,
                  "change_pct": -1.74,
                  "rsi": 54.7,
                  "macd_hist": -673.803,
                  "bb_pband": 0.54,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -16.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1783000,
                  "change_pct": 8.26,
                  "rsi": 54.9,
                  "macd_hist": 22780.97,
                  "bb_pband": 0.9,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -40.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 279500,
                  "change_pct": -0.89,
                  "rsi": 53.4,
                  "macd_hist": 1773.809,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -36.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 384000,
                  "change_pct": 4.63,
                  "rsi": 54.2,
                  "macd_hist": 1505.646,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -32,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 55,
                  "close": 175900,
                  "change_pct": 2.27,
                  "rsi": 57.1,
                  "macd_hist": 945.313,
                  "bb_pband": 0.93,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -9.6,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.93)",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 55,
                  "close": 113900,
                  "change_pct": 3.26,
                  "rsi": 61.3,
                  "macd_hist": 642.82,
                  "bb_pband": 0.97,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -1.7,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.97)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 55,
                  "close": 312000,
                  "change_pct": 4.87,
                  "rsi": 51.9,
                  "macd_hist": 2553.088,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -39.6,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 62,
                  "close": 87900,
                  "change_pct": 10.98,
                  "rsi": 60.3,
                  "macd_hist": 420.617,
                  "bb_pband": 0.95,
                  "vol_ratio": 2.2,
                  "pct_52w_high": -36.9,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "BB상단(0.95)",
                    "거래량x2.2",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1783000,
                  "change_pct": 8.26,
                  "rsi": 54.9,
                  "macd_hist": 22780.97,
                  "bb_pband": 0.9,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -40.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 45,
                  "close": 611000,
                  "change_pct": 6.63,
                  "rsi": 57.4,
                  "macd_hist": 6398.98,
                  "bb_pband": 1.06,
                  "vol_ratio": 1,
                  "pct_52w_high": -30.8,
                  "alignment": "혼조",
                  "reasons": [
                    "BB상단(1.06)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 72,
                  "close": 214000,
                  "change_pct": 6.2,
                  "rsi": 59.2,
                  "macd_hist": 446.406,
                  "bb_pband": 0.87,
                  "vol_ratio": 1.7,
                  "pct_52w_high": -51.1,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 126900,
                  "change_pct": 6.02,
                  "rsi": 58.6,
                  "macd_hist": 357.379,
                  "bb_pband": 0.82,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -36,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 45,
                  "close": 270000,
                  "change_pct": 5.68,
                  "rsi": 54.2,
                  "macd_hist": 927.705,
                  "bb_pband": 0.73,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -27.9,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "403870",
                  "name": "HPSP",
                  "score": 60,
                  "close": 53300,
                  "change_pct": 4.92,
                  "rsi": 66.3,
                  "macd_hist": 669.152,
                  "bb_pband": 0.86,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -42.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 55,
                  "close": 312000,
                  "change_pct": 4.87,
                  "rsi": 51.9,
                  "macd_hist": 2553.088,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -39.6,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 384000,
                  "change_pct": 4.63,
                  "rsi": 54.2,
                  "macd_hist": 1505.646,
                  "bb_pband": 0.75,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -32,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 55,
                  "close": 1454000,
                  "change_pct": 3.78,
                  "rsi": 54.2,
                  "macd_hist": 11055.247,
                  "bb_pband": 0.72,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -39.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "losers": [
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 140800,
                  "change_pct": -1.74,
                  "rsi": 54.7,
                  "macd_hist": -673.803,
                  "bb_pband": 0.54,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -16.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 50,
                  "close": 133700,
                  "change_pct": -1.33,
                  "rsi": 67.1,
                  "macd_hist": 1715.918,
                  "bb_pband": 0.93,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -10.7,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.93)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 541000,
                  "change_pct": -1.28,
                  "rsi": 57.6,
                  "macd_hist": 1025.822,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -25.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "033780",
                  "name": "KT&G",
                  "score": 48,
                  "close": 170300,
                  "change_pct": -1.28,
                  "rsi": 39.9,
                  "macd_hist": -369.231,
                  "bb_pband": 0.1,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -11.5,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(40)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 65,
                  "close": 46750,
                  "change_pct": -1.16,
                  "rsi": 56.6,
                  "macd_hist": 70.784,
                  "bb_pband": 0.76,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -41,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 65,
                  "close": 656000,
                  "change_pct": -1.06,
                  "rsi": 50.8,
                  "macd_hist": 1186.523,
                  "bb_pband": 0.56,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -13.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "068270",
                  "name": "셀트리온",
                  "score": 50,
                  "close": 186300,
                  "change_pct": -0.96,
                  "rsi": 45.4,
                  "macd_hist": -1495.768,
                  "bb_pband": 0.2,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -22.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 279500,
                  "change_pct": -0.89,
                  "rsi": 53.4,
                  "macd_hist": 1773.809,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -36.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 50,
                  "close": 286000,
                  "change_pct": -0.87,
                  "rsi": 47.2,
                  "macd_hist": -5838.678,
                  "bb_pband": 0.11,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -34.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 182600,
                  "change_pct": -0.54,
                  "rsi": 56.6,
                  "macd_hist": 1198.444,
                  "bb_pband": 0.7,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -39,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "highs_52w": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 55,
                  "close": 113900,
                  "change_pct": 3.26,
                  "rsi": 61.3,
                  "macd_hist": 642.82,
                  "bb_pband": 0.97,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -1.7,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.97)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 60,
                  "close": 138900,
                  "change_pct": 3.43,
                  "rsi": 59.5,
                  "macd_hist": 553.098,
                  "bb_pband": 0.9,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -2.5,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.90)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 45,
                  "close": 30350,
                  "change_pct": 0.5,
                  "rsi": 71.2,
                  "macd_hist": 393.4,
                  "bb_pband": 0.97,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -2.7,
                  "alignment": "정배열",
                  "reasons": [
                    "RSI과매수(71)",
                    "BB상단(0.97)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                }
              ]
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7718.6,
              "change_pct": -0.38,
              "date": "2026-09-04"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26506.99,
              "change_pct": -0.29,
              "date": "2026-09-04"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 53414.25,
              "change_pct": -0.51,
              "date": "2026-09-04"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11735.26,
              "change_pct": 3.37,
              "date": "2026-09-04"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 230.36,
              "change_pct": 0.84,
              "date": "2026-09-04"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 477.57,
              "change_pct": 4.69,
              "date": "2026-09-04"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 1016.59,
              "change_pct": 6.1,
              "date": "2026-09-04"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 168.74,
              "change_pct": 0.1,
              "date": "2026-09-04"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 95.8,
              "change_pct": 4.51,
              "date": "2026-09-04"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 15.58,
              "change_pct": 1.83,
              "date": "2026-09-08"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 20.04,
              "change_pct": -0.6,
              "date": "2026-09-04"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.78,
              "change_pct": 0.46,
              "date": "2026-09-04"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1342.48,
              "change_pct": -0.19,
              "date": "2026-09-08"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 153.98,
              "change_pct": -1.42,
              "date": "2026-09-08"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 98.94,
              "change_pct": -0.22,
              "date": "2026-09-08"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 98.46,
              "change_pct": 2.26,
              "date": "2026-09-08"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 93.77,
              "change_pct": 2.5,
              "date": "2026-09-08"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4449,
              "change_pct": 0.43,
              "date": "2026-09-08"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 65269.33,
              "change_pct": -1.7,
              "date": "2026-09-08"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 25317.18,
              "change_pct": -0.38,
              "date": "2026-09-08"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6395.29,
              "change_pct": -0.14,
              "date": "2026-09-08"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25915.78,
              "change_pct": -0.35,
              "date": "2026-09-08"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 718.96,
              "change_pct": 0.18,
              "date": "2026-09-04"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 567.01,
              "change_pct": 2.61,
              "date": "2026-09-04"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 62.74,
              "change_pct": -0.62,
              "date": "2026-09-04"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 128.68,
              "change_pct": -2.78,
              "date": "2026-09-04"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 82.28,
              "change_pct": -2.59,
              "date": "2026-09-04"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.94,
              "change_pct": -0.5,
              "date": "2026-09-04"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.79,
              "change_pct": -0.2,
              "date": "2026-09-04"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 38.7,
              "change_pct": 3.81,
              "date": "2026-09-04"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 284.057,
                "latest_date": "2026-07-01",
                "yoy_pct": 8.27,
                "mom_pct": -0.78
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 3
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 8
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 32
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 38
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 58
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 66
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 80
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 94
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 99
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 37,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 급락, 경고",
                "articles": [
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 반등, 상승, 호황 | 악재: 리스크",
                "articles": [
                  "삼성전자·SK하이닉스 3분기 실적 전망 상향…주가도 동반 반등 - v.daum.net",
                  "메모리 초호황인데…\"삼전 주가 상승 막는 MX·노조 리스크\" [분석+] - 한국경제"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 반등, 상승, 간다",
                "articles": [
                  "삼성전자·SK하이닉스 3분기 실적 전망 상향…주가도 동반 반등 - v.daum.net",
                  "마켓워치 \"삼성전자 SK하이닉스 주가에 오픈AI의 아스트라 효과 지속\", 내년 AI 메모리 지출 7천억 달러 전망 - 비즈니스포스트"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 급등, 강세 | 악재: 하락",
                "articles": [
                  "삼성SDI 투자 재원 확보 속 삼성생명 특별계정, 보유주식 16% ‘싹쓸이’ - 경인방송 뉴스",
                  "AI주식상승확률분석 : 삼성SDI (006400) 주가 전망과 상승확률 분석 - Investing.com 한국어"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 주주환원, 강세 | 악재: 주의, 약세",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - v.daum.net",
                  "금리상승·원화강세·주주환원 3박자 … 금융지주 주가 잘나가네 - 매일경제"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": 9,
                "label": "중립",
                "summary": "호재: 상승, 기대, 매수 | 악재: 하락, 물량, 오버행",
                "articles": [
                  "최우형號 케이뱅크, 21% 물량 풀린다…오버행 '재점화' : 네이버 블로그 - Naver Blog",
                  "AI주식상승확률분석 : NAVER (035420) 주가 전망과 상승확률 분석 - Investing.com 한국어"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 9,
                "label": "중립",
                "summary": "호재: 반등, 회복, 급등 | 악재: 하락, 악재",
                "articles": [
                  "LG화학·롯데케미칼, 유가 뛰는데 주가는 반등…업황 회복은 아직 - PRESS9",
                  "LG화학 주가, 급등세... 이유는? - 금강일보"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": 9,
                "label": "중립",
                "summary": "호재: 상승, 호재, 기대감 | 악재: 하락, 부진, 매각",
                "articles": [
                  "주가 두자릿수 뛴 포스코퓨처엠…\"이차전지 바닥 끝났나\" - 연합인포맥스",
                  "[특징주] 포스코퓨처엠, 확인된 호재 없이 2%대 상승...장중 변동성 주목 : 기업주식정보 - 재경일보"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -15,
                "label": "부정",
                "summary": "호재: 성장, 기대, 상승 | 악재: 하락, 급락, 영업이익 감소",
                "articles": [
                  "3개월간 45% 급락…국내 자동차株 역성장 그늘에 주가 내리막 - 한국경제",
                  "기아, 잠정 실적 공시 후 2%대 하락 마감 : 기업주식정보 - 재경일보"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": -12,
                "label": "중립",
                "summary": "악재: 하락, 약세, 부진",
                "articles": [
                  "[특징주] LG에너지솔루션, 2차전지 업종 부진 속 장중 약세 지속 : 기업주식정보 - 재경일보"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -12,
                "label": "중립",
                "summary": "호재: 수주, 성장 | 악재: 유상증자, 하락, 급락",
                "articles": [
                  "[바이오브리핑] 삼성바이오로직스, 추가 유증 선긋기 - 시사저널e",
                  "[주식] 3조 유상증자한 삼성바이오로직스, 주가는 7% 빠졌다 - 히트뉴스"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -12,
                "label": "중립",
                "summary": "악재: 하락, 급락, 악재",
                "articles": [
                  "같은 인적분할인데 카카오는 울고 한화는 웃은 이유 - 주간동아",
                  "두 회사로 갈라지는 카카오, 쪼개기 잔혹사 끊을까 - 주간경향"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -9,
                "label": "중립",
                "summary": "호재: 기대 | 악재: 악재, 하락, 목표가 하향",
                "articles": [
                  "환율 공통 악재에도⋯현대차, 삼전닉스 주가 갈린 이유 - v.daum.net",
                  "현대차, 이익목표 9% 상향에도…‘아틀라스’ 빠지자 주가도 빠졌다 - 중앙일보"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": -9,
                "label": "중립",
                "summary": "악재: 하락, 목표가 하향",
                "articles": [
                  "하나증권 \"삼성물산, 주가 여전히 저평가…목표가↑\" - 연합뉴스",
                  "[오너 자본방정식] 삼성물산·제일모직 합병 11년…이재용 회장이 얻은 것 - v.daum.net"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -6,
                "label": "중립",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 하락, 블록딜, 과징금",
                "articles": []
              }
            ],
            "neutral": []
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 8,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0337,
            "tree_metrics": {
              "avg_auc": 0.7109,
              "avg_accuracy": 0.6775
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7222,
              "accuracy": 0.6399
            },
            "relative_strength": [
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 269500,
                "relative_rank_pct": 80,
                "return_5d_pct": 3.26,
                "return_20d_pct": 17.17,
                "rsi": 59.8,
                "position_52w_pct": 65.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10490,
                "relative_rank_pct": 66.6,
                "return_5d_pct": -4.55,
                "return_20d_pct": -26.07,
                "rsi": 30.6,
                "position_52w_pct": 5.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8650,
                "relative_rank_pct": 61.7,
                "return_5d_pct": -2.7,
                "return_20d_pct": -2.59,
                "rsi": 47.3,
                "position_52w_pct": 11.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1793000,
                "relative_rank_pct": 57,
                "return_5d_pct": 5.91,
                "return_20d_pct": 26.27,
                "rsi": 69.3,
                "position_52w_pct": 56.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4720,
                "relative_rank_pct": 50.6,
                "return_5d_pct": -1.26,
                "return_20d_pct": 1.83,
                "rsi": 68.4,
                "position_52w_pct": 27.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4355,
                "relative_rank_pct": 42.4,
                "return_5d_pct": 0.35,
                "return_20d_pct": 1.04,
                "rsi": 70.5,
                "position_52w_pct": 36.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1430,
                "relative_rank_pct": 27.4,
                "return_5d_pct": -3.7,
                "return_20d_pct": -4.79,
                "rsi": 46.2,
                "position_52w_pct": 15,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1322,
                "relative_rank_pct": 20,
                "return_5d_pct": 1.07,
                "return_20d_pct": 4.42,
                "rsi": 43.5,
                "position_52w_pct": 13.7,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1322,
                "relative_rank_pct": 20,
                "return_5d_pct": 1.07,
                "return_20d_pct": 4.42,
                "rsi": 43.5,
                "position_52w_pct": 13.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1430,
                "relative_rank_pct": 27.4,
                "return_5d_pct": -3.7,
                "return_20d_pct": -4.79,
                "rsi": 46.2,
                "position_52w_pct": 15,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4355,
                "relative_rank_pct": 42.4,
                "return_5d_pct": 0.35,
                "return_20d_pct": 1.04,
                "rsi": 70.5,
                "position_52w_pct": 36.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4720,
                "relative_rank_pct": 50.6,
                "return_5d_pct": -1.26,
                "return_20d_pct": 1.83,
                "rsi": 68.4,
                "position_52w_pct": 27.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1793000,
                "relative_rank_pct": 57,
                "return_5d_pct": 5.91,
                "return_20d_pct": 26.27,
                "rsi": 69.3,
                "position_52w_pct": 56.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8650,
                "relative_rank_pct": 61.7,
                "return_5d_pct": -2.7,
                "return_20d_pct": -2.59,
                "rsi": 47.3,
                "position_52w_pct": 11.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10490,
                "relative_rank_pct": 66.6,
                "return_5d_pct": -4.55,
                "return_20d_pct": -26.07,
                "rsi": 30.6,
                "position_52w_pct": 5.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 269500,
                "relative_rank_pct": 80,
                "return_5d_pct": 3.26,
                "return_20d_pct": 17.17,
                "rsi": 59.8,
                "position_52w_pct": 65.8,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": []
        },
        "evening_analysis": {
          "actual_driver_analysis": "관찰 가능한 하방 요인은 KOSPI의 전일 급등 이후 과열 부담과 해외 위험선호의 불일치입니다. Morning 당시 KOSPI는 20일선 대비 +3.98%, 공포·탐욕 71점이었고 S&P500·Nasdaq·Dow와 니케이·항셍은 약세였습니다. SOX·반도체는 강했지만 국내 전체 지수 방향을 보장하지 못했습니다. KOSPI foreign/institution 수급은 강한 순매수였으므로 이를 하락 원인으로 단정하지 않으며, KOSDAQ의 외국인·기관 순매도와 지수 하락의 연결도 breadth 없이 확정하지 않습니다.",
          "data_synthesis": {
            "domestic_market": "Morning 기준 KOSPI 6,995.39, KOSDAQ 822.19에서 실제 종가는 각각 6,954.52와 811.88입니다. KOSPI 실제 수익률은 -0.58424163%입니다.",
            "fear_greed": "공포·탐욕 71점과 KOSPI 20일선 이격 +3.98%는 전일 급등 이후 되돌림 위험을 보여줍니다. 과열 신호만으로 하락 원인을 확정하지 않습니다.",
            "flows": "2026-09-07 기준 KOSPI foreign +25,531.58억원, institution +26,490.65억원, KOSDAQ foreign -716.76억원, institution -1,292.46억원이 동일 immutable snapshot에 있습니다. 수급은 available이며 종목별 watchlist 수급은 provider 범위 밖이라 null입니다.",
            "intraday_context": "실제 종가와 Morning 기준값은 read-back했지만 시가·고가·저가·거래대금·상승하락 종목 수·분봉 경로는 이 run에 보존되지 않았습니다. 장중 갭이나 breadth 축소를 추정하지 않습니다.",
            "leaders_and_breadth": "Morning의 국내 기술 스캔과 해외 반도체 강세는 확인되지만 실제 하락일의 국내 업종별 리더와 breadth는 확인되지 않았습니다.",
            "macro_and_events": "미국 10년물 4.78% 상승과 브렌트·WTI 상승, 9월 11일 CPI 및 9월 16일 FOMC 예정은 위험선호를 제한할 수 있는 배경입니다. 해당 이벤트가 당일 하락을 직접 유발했다고 단정하지 않습니다.",
            "ml_relative_context": "ML은 8개 종목의 5세션 후 KOSPI 대비 상대수익을 예측했고 market bias는 약세입니다. maturity는 pending이며 ML을 KOSPI 하락의 원인이나 수급 복구의 feature로 사용하지 않습니다.",
            "news": "삼성전자·SK하이닉스·금융 일부는 긍정적이었지만 자동차·바이오·2차전지에는 부정 또는 중립 신호가 있었습니다. 뉴스가 당일 하락을 직접 설명했다고 단정하지 않습니다.",
            "overnight_cross_asset": "S&P500 -0.38%, Nasdaq -0.29%, Dow -0.51%, 니케이225 -1.70%, 항셍 -0.38%로 주요 지수는 약세였고 SOX +3.37%, AMD +4.69%, MU +6.10%, 인텔 +4.51%로 반도체는 강했습니다. 신호가 엇갈린 상황에서 반도체 강세만으로 국내 절대 상승을 확정한 것이 취약점이었습니다.",
            "technical": "강한 전일 상승과 +3.98% 이격, 71점 탐욕은 차익실현 위험과 일치합니다. 지지선 이탈이나 장중 반전은 추가 자료 없이 확인하지 않습니다."
          },
          "failure_analysis": "절대 방향 판단은 실패했습니다. 전일 추세와 KOSPI 대형주 수급 및 반도체 counter-signal을 국내 지수의 당일 상승으로 상대적으로 크게 반영했고, 과열 이후 되돌림과 시장별 수급 divergence를 최종 방향에 충분히 반영하지 못했습니다. 다만 장중 breadth·시가·고가·저가·거래대금과 업종별 확산 자료가 없으므로 실패 원인을 특정 투자 주체나 단일 업종으로 귀속하지 않습니다.",
          "improvement": {
            "action_detail": "국내 지수의 단기 과열·되돌림 위험과 미국 주요 지수 약세가 반도체·아시아·환율 counter-signal과 충돌할 때, 절대 방향을 결정하기 전에 국내 과열/되돌림 시나리오를 별도 검토하고 상승 판단의 확신을 자동으로 제한합니다. 수급·breadth가 missing이면 이를 방향 근거로 대체하지 않고 불확실성으로 유지합니다.",
            "action_type": "prompt",
            "expected_impact": "전일 급등과 반도체 강세가 당일 국내 지수의 절대 상승으로 과대 해석되는 오류를 줄이고 시장별 수급 divergence와 과열 이후 되돌림을 다음 판단에 반영합니다.",
            "reason": "llm_absolute_direction_incorrect_and_supply_divergence_observed"
          },
          "rationale_vs_actual": "Morning은 KOSPI foreign +25,531.58억원과 institution +26,490.65억원, 반도체 해외 강세, 원화 강세를 상승 근거로 반영했습니다. 동시에 KOSDAQ foreign -716.76억원·institution -1,292.46억원, KOSPI 과열, 미국 주요 지수 약세를 위험으로 기록했으나 상승 방향을 우선했습니다. 실제로 두 지수 모두 하락했으므로 KOSPI 수급 강세가 시장 전체의 당일 절대 상승을 보장하지 않는다는 점이 확인되었습니다.",
          "summary": "Morning의 상승 전망은 실제 장 마감에서 확인되지 않았습니다. KOSPI는 Morning 기준 6,995.39에서 6,954.52로 하락했고 KOSDAQ은 822.19에서 811.88로 하락했습니다. 전일 급등과 KOSPI 외국인·기관 동시 순매수는 상승 근거였지만, 단기 과열과 미국 주요 지수·아시아 지수의 약세, KOSDAQ 수급 약세가 더 강한 counter-signal로 작용했을 가능성이 있습니다. 수급은 시장 수준으로 복구되었으나 breadth와 장중 경로는 확인하지 않아 단일 주체의 매도로 원인을 확정하지 않습니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6954.52001953125,
          "kosdaq_close": 811.8800048828125,
          "direction": "하락",
          "return_pct": -0.58424163,
          "observed_at": "2026-09-08T19:10:15.602292+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 8,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 250,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "applied",
          "proposal_id": "proposal-37bec9eaeb103037",
          "actual_applied": true,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-08/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-08/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-08-supply-repair-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-2df019eb6bcd33b4"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-08-supply-repair-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-08-supply-repair-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-07-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-07",
        "run_status": "success",
        "quality_status": "degraded",
        "input_snapshot_id": "input-snapshot-d7131d8aba05c6bd",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-07",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": true,
          "failure": false,
          "market": "KOSPI",
          "direction": "상승",
          "confidence": 0.62,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "28ad671bb9de3b377656309581891101454e1c42ef1a7754589fbeeb4e0e30d5",
            "used": false,
            "used_fields": [],
            "application_note": null
          },
          "snapshot_cutoff": "2026-09-07T07:31:41.738821+09:00",
          "generated_at": "2026-09-07T07:35:18.856873+09:00",
          "summary": "KOSPI는 전 거래일 1.64% 상승한 6,687.21로 마감했고 KOSDAQ도 2.95% 상승해 국내 단기 위험선호가 우세합니다. 다만 KOSPI는 20일선 6,690.76을 0.05% 밑돌고 변동성이 2.70%이며, 미국 주요 지수는 하락해 상승 추세의 확신은 제한됩니다. SOX와 주요 반도체주는 강했고 원화 강세도 우호적이지만, 외국인·기관 수급과 공급 데이터가 인증 문제로 비어 있습니다. 이를 종합해 다음 거래일 KOSPI 방향은 상승으로 판단하되, 반도체·해외 신호가 국내 약한 추세와 충돌할 가능성을 반영해 중간 수준의 주관적 확신을 부여합니다.",
          "market_summary": "국내 레짐은 단기 반등 및 위험선호 쪽입니다. KOSPI는 6,687.21로 1.64% 상승했고 KOSDAQ은 813.50으로 2.95% 상승했습니다. 최근 10일 중 7일이 상승했지만 KOSPI는 20일선 6,690.76보다 0.05% 낮고, 20일 변동성은 2.70%로 높습니다. 시장 심리지수는 KOSPI 70(낙관)입니다. 개별 종목 기술 스캔은 정배열과 역배열이 혼재하며 자동차·조선·일부 대형주에는 약세 신호가 남아 있어 전면적인 추세 전환으로 단정하기 어렵습니다.",
          "overseas_market_and_overnight": "미국은 S&P500 -0.38%, Nasdaq -0.29%, Dow -0.51%로 혼조·약세였지만, SOX는 3.37% 상승했고 SMH는 2.61%, AMD는 4.69%, Micron은 6.10% 상승해 반도체 중심의 국내 대형주에는 강한 counter-signal을 보냈습니다. 아시아에서는 Nikkei225 +1.26%, 항셍 +1.74%였고 유럽 STOXX50 +0.16%, DAX +0.17%로 대체로 보합권이었습니다. 원/달러는 1,345.12로 0.76% 하락해 원화 강세가 우호적이나, 미국 주요 지수 하락과 VIX 14.53의 1.47% 상승은 추격 매수의 부담입니다.",
          "macro": "미국 CPI는 전년 대비 3.54%, PPI는 8.27%, 실업률은 4.1%로 기록되어 물가와 고용을 함께 확인해야 하는 환경입니다. 9월 11일 미국 8월 CPI가 다음 주요 이벤트이며 9월 16일 FOMC도 예정되어 있어 금리 민감도가 높습니다. 10년물 금리는 4.78%로 0.46% 상승했고, 브렌트유 96.28달러와 WTI 91.48달러는 비용·인플레이션 부담을 남깁니다. 금 선물은 1.06% 상승해 방어 수요도 관찰됩니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 61(탐욕)이며 모멘텀 점수 50, 심리 점수 70, 거래량 추세 점수 33(5일/20일 1.00배), 52주 고가·저가 근접 종목은 각각 0개로 과열과 추세 확산이 동시에 강하다고 보기는 어렵습니다. 뉴스 심리는 삼성전자·셀트리온·삼성SDI 등에서 긍정적이고 반도체·주주환원 기대가 존재하지만, 자동차·리노공업·일부 종목에는 하락·목표가 하향·블록딜 우려가 함께 나타납니다. 외국인·기관 수급은 KRX 인증 문제로 전 시장 및 관심종목 모두 결측이며, 이를 매수 근거 또는 국내 약세 근거로 사용하지 않습니다.",
          "ml_summary": "ML은 73개 특성을 사용한 5거래일 후 KOSPI 대비 초과수익의 상대 예측이며 절대적인 KOSPI 방향 예측이 아닙니다. 시장 편향은 약세이고 50종목 중 상대적 강세 6종목, 중립 22종목, 약세 22종목입니다. 상위에는 하나금융지주 순위 80%, 신한지주 72%, SK이노베이션 64%, KB금융 60%가 있으며 삼성전자 38%, SK하이닉스 46%로 반도체 대형주 신호는 엇갈립니다. Tree AUC 0.7804·정확도 0.7207, LSTM AUC 0.7681·정확도 0.7101로 신호 자체는 유의미하지만 국내 지수 절대 방향 판단을 대체하지 않습니다.",
          "forecast": "다음 거래일 KOSPI는 상승을 우선 시나리오로 봅니다. 국내 전일 강세, KOSDAQ 동반 상승, SOX·반도체 리더 강세, 원화 강세가 상승을 지지합니다. 다만 KOSPI가 20일선 아래에 있고 미국 주요 지수·금리·유가가 부담이며 수급 데이터가 없어, 상승이 확인되더라도 반도체 중심의 선택적 반등 또는 변동성 확대 가능성을 함께 열어둡니다.",
          "rationale": [
            "KOSPI가 6,687.21로 1.64% 상승하고 KOSDAQ도 2.95% 상승해 국내 단기 위험선호가 확인됩니다.",
            "최근 10거래일 중 7일 상승했지만 KOSPI의 20일선 대비 이격은 -0.05%이고 변동성은 2.70%여서 추세 확신은 제한됩니다.",
            "SOX +3.37%, SMH +2.61%, AMD +4.69%, Micron +6.10%로 반도체 중심의 해외 선행 신호가 국내 대형 기술주를 지지합니다.",
            "미국 S&P500 -0.38%, Nasdaq -0.29%, Dow -0.51%와 10년물 4.78%(+0.46%)는 상승 시나리오를 상쇄하는 위험 요인입니다.",
            "원/달러 1,345.12(-0.76%)는 외국인 위험선호에 우호적인 원화 방향이지만, 외국인·기관 실제 수급은 결측이라 수급 확인으로 확대 해석할 수 없습니다.",
            "탐욕 지수 61, KOSPI 심리 70, 최근 10일 중 7일 상승은 낙관을 보여주지만 거래량 비율 1.00배와 52주 고가 근접 0개는 광범위한 추세 확산을 확인해주지 못합니다.",
            "ML은 약세 시장 편향과 상대적 약세 22종목을 제시하므로 상승 판단의 보조 신호가 아니라 반도체·금융 등 선택적 상대 강세를 보여주는 별도 정보로 반영합니다.",
            "9월 11일 미국 CPI와 9월 16일 FOMC가 예정되어 있고 CPI 3.54%, PPI 8.27%, 유가 90달러대가 이어져 이벤트 전 변동성 위험이 남아 있습니다."
          ],
          "observation_points": [
            "KOSPI 6,687.21 및 20일선 6,690.76 돌파·이탈 여부",
            "SOX·SMH와 삼성전자·SK하이닉스의 동조 여부",
            "원/달러 1,345.12의 원화 강세 지속 여부",
            "미국 10년물 금리 4.78%와 VIX 14.53의 방향",
            "9월 11일 미국 8월 CPI 및 9월 16일 FOMC 경계 심리",
            "외국인·기관 수급 데이터 복구 후 실제 매매 방향",
            "KOSPI 상승이 거래량과 종목 breadth로 확산되는지 여부"
          ],
          "uncertainties": [
            "외국인·기관 수급과 관심종목별 순매수 데이터는 KRX provider_auth_required로 결측입니다.",
            "KOSPI breadth의 상세 수치가 제공되지 않아 상승 종목 확산 정도를 완전히 확인할 수 없습니다.",
            "미국 주요 지수는 하락했지만 반도체만 강해 업종 간 divergence가 큽니다.",
            "CPI·FOMC 이벤트 전 금리와 유가 변동이 국내 방향성을 빠르게 바꿀 수 있습니다.",
            "confidence 0.62는 관측치에 기반한 주관적 확신이며 보정된 확률이 아닙니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-07/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6687.21,
              "change_pct": 1.64,
              "sma20": 6690.76,
              "disparity_20_pct": null,
              "sentiment": 70,
              "sentiment_signal": "낙관"
            },
            "kosdaq": {
              "close": 813.5,
              "change_pct": 2.95,
              "sma20": null,
              "disparity_20_pct": -2.01,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "fear_greed_score": 61,
            "fear_greed_label": "탐욕",
            "fear_greed_advice": "낙관 구간, 분할 매도 고려",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 50,
                "value": -0.05,
                "description": "KOSPI 20일선 대비 -0.05%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 100,
                "value": 2.7,
                "description": "KOSPI 20일 변동성 2.70%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 70,
                "value": 7,
                "description": "최근 10일 중 7일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 50,
                "value": -0.05,
                "description": "20일 이격도 -0.05%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 33,
                "value": 1.0,
                "description": "거래량 5일/20일 비율 1.00x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 50,
                "value": null,
                "description": "52주高 근접 0개, 低 근접 0개 (/50)"
              }
            ],
            "supply": {
              "status": "missing",
              "available": false,
              "source": "KRX",
              "reason": "provider_auth_required",
              "as_of": "2026-09-04",
              "collected_at": null,
              "hash": null,
              "market_scope": [
                "KOSPI",
                "KOSDAQ"
              ],
              "market_statuses": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "as_of": "2026-09-04"
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "as_of": "2026-09-04"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "as_of": "2026-09-04"
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "as_of": "2026-09-04"
                }
              ],
              "market_flows": [
                {
                  "market": "KOSPI",
                  "investor": "외국인",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "net_value": null,
                  "unit": null,
                  "display_value": null,
                  "display_unit": null,
                  "as_of": "2026-09-04",
                  "provider": "KRX",
                  "reference": null,
                  "api": null
                },
                {
                  "market": "KOSPI",
                  "investor": "기관",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "net_value": null,
                  "unit": null,
                  "display_value": null,
                  "display_unit": null,
                  "as_of": "2026-09-04",
                  "provider": "KRX",
                  "reference": null,
                  "api": null
                },
                {
                  "market": "KOSDAQ",
                  "investor": "외국인",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "net_value": null,
                  "unit": null,
                  "display_value": null,
                  "display_unit": null,
                  "as_of": "2026-09-04",
                  "provider": "KRX",
                  "reference": null,
                  "api": null
                },
                {
                  "market": "KOSDAQ",
                  "investor": "기관",
                  "status": "missing",
                  "reason": "provider_auth_required",
                  "net_value": null,
                  "unit": null,
                  "display_value": null,
                  "display_unit": null,
                  "as_of": "2026-09-04",
                  "provider": "KRX",
                  "reference": null,
                  "api": null
                }
              ],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-04",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 72,
                  "close": 47300,
                  "change_pct": 5.58,
                  "rsi": 58.5,
                  "macd_hist": 63.928,
                  "bb_pband": 0.87,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -40.3,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 548000,
                  "change_pct": 1.67,
                  "rsi": 59.5,
                  "macd_hist": 2793.227,
                  "bb_pband": 0.72,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -24.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 172000,
                  "change_pct": -3.32,
                  "rsi": 53.1,
                  "macd_hist": 829.604,
                  "bb_pband": 0.7,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -11.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 110300,
                  "change_pct": -3.67,
                  "rsi": 56.1,
                  "macd_hist": 569.238,
                  "bb_pband": 0.74,
                  "vol_ratio": 1,
                  "pct_52w_high": -4.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 183600,
                  "change_pct": -0.11,
                  "rsi": 57.2,
                  "macd_hist": 1756.851,
                  "bb_pband": 0.74,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -38.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 65,
                  "close": 663000,
                  "change_pct": -5.56,
                  "rsi": 52.2,
                  "macd_hist": 3077.276,
                  "bb_pband": 0.63,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -12.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 65,
                  "close": 33200,
                  "change_pct": -4.18,
                  "rsi": 50.7,
                  "macd_hist": 39.016,
                  "bb_pband": 0.45,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -20,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 134300,
                  "change_pct": -3.73,
                  "rsi": 53.9,
                  "macd_hist": 480.399,
                  "bb_pband": 0.65,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -5.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 119700,
                  "change_pct": 0.17,
                  "rsi": 53.7,
                  "macd_hist": 41.219,
                  "bb_pband": 0.61,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -39.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 54700,
                  "change_pct": -1.44,
                  "rsi": 53.1,
                  "macd_hist": 232.841,
                  "bb_pband": 0.61,
                  "vol_ratio": 0.2,
                  "pct_52w_high": -40,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 60,
                  "close": 1447000,
                  "change_pct": -2.03,
                  "rsi": 41.5,
                  "macd_hist": -17385.181,
                  "bb_pband": -0.08,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -27.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(-0.08)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 238000,
                  "change_pct": 5.31,
                  "rsi": 55.8,
                  "macd_hist": -722.974,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -38.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 60,
                  "close": 143300,
                  "change_pct": 0.56,
                  "rsi": 58.7,
                  "macd_hist": -376.61,
                  "bb_pband": 0.66,
                  "vol_ratio": 0.4,
                  "pct_52w_high": -15.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 58,
                  "close": 422000,
                  "change_pct": -0.35,
                  "rsi": 34.1,
                  "macd_hist": -7708.3,
                  "bb_pband": 0.09,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -48.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(34)",
                    "BB하단(0.09)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1647000,
                  "change_pct": 3.2,
                  "rsi": 48.2,
                  "macd_hist": 15291.201,
                  "bb_pband": 0.59,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -44.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 282000,
                  "change_pct": -1.74,
                  "rsi": 54.7,
                  "macd_hist": 2094.182,
                  "bb_pband": 0.77,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -35.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 367000,
                  "change_pct": -1.34,
                  "rsi": 49.6,
                  "macd_hist": 1184.443,
                  "bb_pband": 0.5,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -35,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 55,
                  "close": 573000,
                  "change_pct": 5.14,
                  "rsi": 51.7,
                  "macd_hist": 3370.18,
                  "bb_pband": 0.71,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -35.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 55,
                  "close": 297500,
                  "change_pct": -1.82,
                  "rsi": 47.9,
                  "macd_hist": 2071.465,
                  "bb_pband": 0.49,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -42.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 55,
                  "close": 1401000,
                  "change_pct": 3.93,
                  "rsi": 51.1,
                  "macd_hist": 8644.725,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -42,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 55,
                  "close": 157300,
                  "change_pct": 6.36,
                  "rsi": 64.3,
                  "macd_hist": 626.884,
                  "bb_pband": 1.02,
                  "vol_ratio": 2.3,
                  "pct_52w_high": -11.2,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.02)",
                    "거래량x2.3",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 72,
                  "close": 47300,
                  "change_pct": 5.58,
                  "rsi": 58.5,
                  "macd_hist": 63.928,
                  "bb_pband": 0.87,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -40.3,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD골든",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 238000,
                  "change_pct": 5.31,
                  "rsi": 55.8,
                  "macd_hist": -722.974,
                  "bb_pband": 0.69,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -38.7,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 55,
                  "close": 573000,
                  "change_pct": 5.14,
                  "rsi": 51.7,
                  "macd_hist": 3370.18,
                  "bb_pband": 0.71,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -35.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 55,
                  "close": 1401000,
                  "change_pct": 3.93,
                  "rsi": 51.1,
                  "macd_hist": 8644.725,
                  "bb_pband": 0.57,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -42,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "017670",
                  "name": "SK텔레콤",
                  "score": 50,
                  "close": 92500,
                  "change_pct": 3.93,
                  "rsi": 48.2,
                  "macd_hist": -969.892,
                  "bb_pband": 0.4,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -33.7,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 40,
                  "close": 30200,
                  "change_pct": 3.6,
                  "rsi": 70.6,
                  "macd_hist": 379.173,
                  "bb_pband": 1.02,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -3.2,
                  "alignment": "정배열",
                  "reasons": [
                    "RSI과매수(71)",
                    "BB상단(1.02)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "058470",
                  "name": "리노공업",
                  "score": 45,
                  "close": 66600,
                  "change_pct": 3.58,
                  "rsi": 47.1,
                  "macd_hist": 173.734,
                  "bb_pband": 0.4,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -48.4,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1647000,
                  "change_pct": 3.2,
                  "rsi": 48.2,
                  "macd_hist": 15291.201,
                  "bb_pband": 0.59,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -44.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 50,
                  "close": 213500,
                  "change_pct": 2.89,
                  "rsi": 49.3,
                  "macd_hist": -1505.668,
                  "bb_pband": 0.36,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -29.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 65,
                  "close": 663000,
                  "change_pct": -5.56,
                  "rsi": 52.2,
                  "macd_hist": 3077.276,
                  "bb_pband": 0.63,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -12.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 65,
                  "close": 33200,
                  "change_pct": -4.18,
                  "rsi": 50.7,
                  "macd_hist": 39.016,
                  "bb_pband": 0.45,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -20,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 134300,
                  "change_pct": -3.73,
                  "rsi": 53.9,
                  "macd_hist": 480.399,
                  "bb_pband": 0.65,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -5.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 65,
                  "close": 110300,
                  "change_pct": -3.67,
                  "rsi": 56.1,
                  "macd_hist": 569.238,
                  "bb_pband": 0.74,
                  "vol_ratio": 1,
                  "pct_52w_high": -4.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 172000,
                  "change_pct": -3.32,
                  "rsi": 53.1,
                  "macd_hist": 829.604,
                  "bb_pband": 0.7,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -11.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "024110",
                  "name": "기업은행",
                  "score": 55,
                  "close": 20700,
                  "change_pct": -2.13,
                  "rsi": 52,
                  "macd_hist": 91.96,
                  "bb_pband": 0.69,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -29.9,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 60,
                  "close": 1447000,
                  "change_pct": -2.03,
                  "rsi": 41.5,
                  "macd_hist": -17385.181,
                  "bb_pband": -0.08,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -27.2,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(-0.08)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 48,
                  "close": 358500,
                  "change_pct": -1.92,
                  "rsi": 51,
                  "macd_hist": -64.023,
                  "bb_pband": 0.45,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -32,
                  "alignment": "정배열",
                  "reasons": [
                    "MACD데드",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "032830",
                  "name": "삼성생명",
                  "score": 55,
                  "close": 297500,
                  "change_pct": -1.82,
                  "rsi": 47.9,
                  "macd_hist": 2071.465,
                  "bb_pband": 0.49,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -42.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 282000,
                  "change_pct": -1.74,
                  "rsi": 54.7,
                  "macd_hist": 2094.182,
                  "bb_pband": 0.77,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -35.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7718.6,
              "change_pct": -0.38,
              "date": "2026-09-04"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26506.99,
              "change_pct": -0.29,
              "date": "2026-09-04"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 53414.25,
              "change_pct": -0.51,
              "date": "2026-09-04"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11735.26,
              "change_pct": 3.37,
              "date": "2026-09-04"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 230.36,
              "change_pct": 0.84,
              "date": "2026-09-04"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 477.57,
              "change_pct": 4.69,
              "date": "2026-09-04"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 1016.59,
              "change_pct": 6.1,
              "date": "2026-09-04"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 168.74,
              "change_pct": 0.1,
              "date": "2026-09-04"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 95.8,
              "change_pct": 4.51,
              "date": "2026-09-04"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 14.53,
              "change_pct": 1.47,
              "date": "2026-09-04"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 20.04,
              "change_pct": -0.6,
              "date": "2026-09-04"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.78,
              "change_pct": 0.46,
              "date": "2026-09-04"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1345.12,
              "change_pct": -0.76,
              "date": "2026-09-06"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 156.26,
              "change_pct": 0.39,
              "date": "2026-09-06"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 99.16,
              "change_pct": 0,
              "date": "2026-09-06"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 96.28,
              "change_pct": 0,
              "date": "2026-09-06"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 91.48,
              "change_pct": 0,
              "date": "2026-09-06"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4476.6,
              "change_pct": 1.06,
              "date": "2026-09-06"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 65020.94,
              "change_pct": 1.26,
              "date": "2026-09-04"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 25650.87,
              "change_pct": 1.74,
              "date": "2026-09-04"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6392.93,
              "change_pct": 0.16,
              "date": "2026-09-04"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 26046.4,
              "change_pct": 0.17,
              "date": "2026-09-04"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 718.96,
              "change_pct": 0.18,
              "date": "2026-09-04"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 567.01,
              "change_pct": 2.61,
              "date": "2026-09-04"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 62.74,
              "change_pct": -0.62,
              "date": "2026-09-04"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 128.68,
              "change_pct": -2.78,
              "date": "2026-09-04"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 82.28,
              "change_pct": -2.59,
              "date": "2026-09-04"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.94,
              "change_pct": -0.5,
              "date": "2026-09-04"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.79,
              "change_pct": -0.2,
              "date": "2026-09-04"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 38.7,
              "change_pct": 3.81,
              "date": "2026-09-04"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 284.057,
                "latest_date": "2026-07-01",
                "yoy_pct": 8.27,
                "mom_pct": -0.78
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-08-01",
                "yoy_pct": -4.65,
                "mom_pct": 0
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 4
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 9
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 33
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 39
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 59
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 67
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 81
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 95
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 100
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 28,
                "label": "긍정",
                "summary": "호재: 상승, 수혜, 기대",
                "articles": [
                  "전고점향해 달리는 삼성SDI … ESS, 데이터센터서 금맥캔다 - 한국경제",
                  "\"전기국가 전환으로 수혜 기대\" 삼성SDI 주가 상승 - gukjenews.com"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 상승, 성장, 기대감 | 악재: 하락, 급락, 경고",
                "articles": [
                  "[MK시그널] HPSP, 독점적 고압 수소 어닐링 기술 성장 기대감 등에 주가 상승세... MK시그널 추천 후 상승률 20.59% 기록 - 매일경제 마켓",
                  "반도체공장 증설…HPSP 내년에도 폭발적 성장 [한국주식 원포인트 레슨] - v.daum.net"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 간다, 주주환원, 기대",
                "articles": [
                  "\"2028년까지 메모리 공급난\"…증권가, 삼성전자 '주가 재평가' 전망 - v.daum.net",
                  "노무라 “삼성전자·SK하이닉스 심각한 저평가…67만원·470만원 간다” - 경기일보"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 매수, 순매수, 상승 | 악재: 급락",
                "articles": [
                  "셀트리온, 시밀러 시장서 도약...2026년 실적·주가 분수령 - 증권일보",
                  "셀트리온, 1천억 규모 자사주 또 매입… 주가 변동 주목 - 중부일보"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 15,
                "label": "긍정",
                "summary": "호재: 급등, 상승, 매수 | 악재: 적자",
                "articles": [
                  "LG화학 주가, 급등세... 이유는? - 금강일보",
                  "\"엔솔 분할 뒤 주가 3분의 1토막\"…LG화학 해외주주 달래기 - v.daum.net"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 12,
                "label": "중립",
                "summary": "호재: 호재, 매수, 반등",
                "articles": [
                  "삼전 67만원·하닉 470만원 전망한 노무라…\"아직도 너무 싸다\" - 주간조선",
                  "“230만원→70만원” SK하이닉스보다 심하다…‘반토막’에 충격적 리포트 ‘패닉’ - v.daum.net"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 12,
                "label": "중립",
                "summary": "호재: 매수, 순매수, 상승 | 악재: 주의, 하락",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - v.daum.net",
                  "[특징주] 신한지주, 글로벌 금리 상승 영향 +1%대 ↑ - 전국매일신문"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 9,
                "label": "중립",
                "summary": "호재: 성장, 강세, 기대 | 악재: 하락",
                "articles": [
                  "[리포트 브리핑]LG에너지솔루션, 'Electro-state로의 전환기, ESS 후방 기지 확보' 목표가 480,000원 - 하나증권 - newspim.com",
                  "현 주가도 비싸다…LS證 \"LG엔솔 적정가 39만7천원\" - 연합인포맥스"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -28,
                "label": "부정",
                "summary": "호재: 성장 | 악재: 급락, 하락, 부진",
                "articles": [
                  "3개월간 45% 급락…국내 자동차株 역성장 그늘에 주가 내리막 - 한국경제"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -28,
                "label": "부정",
                "summary": "호재: 성장 | 악재: 하락, 블록딜, 우려",
                "articles": [
                  "[단독] 리노공업, 8600억 규모 블록딜 철회 검토…주가하락·파업 내우외환 - 녹색경제신문",
                  "[서치 e종목] 리노공업, 대규모 캐파 증설 등으로 점진적 성장 전망…주가 향방은? - 데일리인베스트"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": -3,
                "label": "중립",
                "summary": "호재: 기대, 상승 | 악재: 하락, 목표가 하향, 급락",
                "articles": [
                  "현대차, 이익목표 9% 상향에도…‘아틀라스’ 빠지자 주가도 빠졌다 - 중앙일보",
                  "外人 지분율 동반 하락, 주가는 삼성전기↑·현대차↓···개인 투심이 갈랐다 - 시사저널e"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": -3,
                "label": "중립",
                "summary": "호재: 회복, 주주환원 | 악재: 하락, 목표가 하향",
                "articles": [
                  "하나증권 \"삼성물산, 주가 여전히 저평가…목표가↑\" - 연합뉴스",
                  "[오너 자본방정식] 삼성물산·제일모직 합병 11년…이재용 회장이 얻은 것 - v.daum.net"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": -3,
                "label": "중립",
                "summary": "호재: 상승, 호재, 강세 | 악재: 하락, 주의, 조정",
                "articles": [
                  "금융지주 회장, 자사주 샀다가 함영주 14억·진옥동 13억 차익 - KB Think",
                  "은행주 금리 상승·환율 하락 겹호재, KB금융지주 '금융 대장주' 다시 굳힌다 - 비즈니스포스트"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -3,
                "label": "중립",
                "summary": "호재: 회복 | 악재: 하락, 유상증자",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스",
                  "에코프로비엠 유증절차 개시…1차 발행가액 기준 8천900억 - 연합뉴스"
                ]
              }
            ],
            "neutral": []
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0051,
            "tree_metrics": {
              "avg_auc": 0.7804,
              "avg_accuracy": 0.7207
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7681,
              "accuracy": 0.7101
            },
            "relative_strength": [
              {
                "ticker": "086790",
                "name": "하나금융지주",
                "price": 134300,
                "relative_rank_pct": 80,
                "return_5d_pct": -1.25,
                "return_20d_pct": 0.75,
                "rsi": 51.8,
                "position_52w_pct": 86.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "price": 110300,
                "relative_rank_pct": 72.2,
                "return_5d_pct": 0.55,
                "return_20d_pct": 2.7,
                "rsi": 55.1,
                "position_52w_pct": 89.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 138300,
                "relative_rank_pct": 64.3,
                "return_5d_pct": 18.31,
                "return_20d_pct": 27.35,
                "rsi": 56.9,
                "position_52w_pct": 74.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "price": 172000,
                "relative_rank_pct": 60.4,
                "return_5d_pct": 0.23,
                "return_20d_pct": 0.29,
                "rsi": 54.1,
                "position_52w_pct": 74.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "316140",
                "name": "우리금융지주",
                "price": 33200,
                "relative_rank_pct": 59.1,
                "return_5d_pct": -2.06,
                "return_20d_pct": -0.9,
                "rsi": 46.5,
                "position_52w_pct": 53.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000810",
                "name": "삼성화재",
                "price": 663000,
                "relative_rank_pct": 56.5,
                "return_5d_pct": -3.49,
                "return_20d_pct": 2.31,
                "rsi": 58.4,
                "position_52w_pct": 72.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "price": 358500,
                "relative_rank_pct": 51.3,
                "return_5d_pct": -3.11,
                "return_20d_pct": 3.91,
                "rsi": 46.5,
                "position_52w_pct": 28.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "price": 282000,
                "relative_rank_pct": 51.3,
                "return_5d_pct": 1.81,
                "return_20d_pct": 8.05,
                "rsi": 50.7,
                "position_52w_pct": 27.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012330",
                "name": "현대모비스",
                "price": 422000,
                "relative_rank_pct": 48.7,
                "return_5d_pct": -6.33,
                "return_20d_pct": -16.93,
                "rsi": 8.9,
                "position_52w_pct": 25.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "329180",
                "name": "HD현대중공업",
                "price": 436500,
                "relative_rank_pct": 47.4,
                "return_5d_pct": -4.49,
                "return_20d_pct": -13.91,
                "rsi": 24.9,
                "position_52w_pct": 7.1,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1446,
                "relative_rank_pct": 20,
                "return_5d_pct": -3.02,
                "return_20d_pct": -0.07,
                "rsi": 39.4,
                "position_52w_pct": 15.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1319,
                "relative_rank_pct": 20,
                "return_5d_pct": -2.15,
                "return_20d_pct": 5.52,
                "rsi": 47.4,
                "position_52w_pct": 13.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10360,
                "relative_rank_pct": 22.6,
                "return_5d_pct": -9.91,
                "return_20d_pct": -22.74,
                "rsi": 22,
                "position_52w_pct": 5.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "price": 383500,
                "relative_rank_pct": 26.5,
                "return_5d_pct": -4.01,
                "return_20d_pct": -4.13,
                "rsi": 19.1,
                "position_52w_pct": 30,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "010130",
                "name": "고려아연",
                "price": 1222000,
                "relative_rank_pct": 26.5,
                "return_5d_pct": -11.13,
                "return_20d_pct": -0.97,
                "rsi": 52.1,
                "position_52w_pct": 31.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012450",
                "name": "한화에어로스페이스",
                "price": 1055000,
                "relative_rank_pct": 29.1,
                "return_5d_pct": -8.82,
                "return_20d_pct": 0.09,
                "rsi": 37.1,
                "position_52w_pct": 31.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "price": 288500,
                "relative_rank_pct": 30.4,
                "return_5d_pct": -9.84,
                "return_20d_pct": -1.7,
                "rsi": 41.5,
                "position_52w_pct": 38.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8530,
                "relative_rank_pct": 31.7,
                "return_5d_pct": -6.37,
                "return_20d_pct": 4.79,
                "rsi": 35.5,
                "position_52w_pct": 10.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4325,
                "relative_rank_pct": 31.7,
                "return_5d_pct": 1.41,
                "return_20d_pct": 2.61,
                "rsi": 46.9,
                "position_52w_pct": 35.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "017670",
                "name": "SK텔레콤",
                "price": 92500,
                "relative_rank_pct": 31.7,
                "return_5d_pct": -6.19,
                "return_20d_pct": 1.54,
                "rsi": 36,
                "position_52w_pct": 46.7,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": [
            "외국인·기관 수급 원자료 (미확보)"
          ]
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 상승을 설명하는 핵심 요인은 세 가지입니다. 첫째, Morning 직전 국내 KOSPI와 KOSDAQ이 각각 1.64%, 2.95% 상승하며 단기 위험선호의 출발점이 형성되어 있었습니다. 둘째, SOX +3.37%, SMH +2.61%, AMD +4.69%, Micron +6.10% 등 반도체 중심의 해외 강세가 국내 대형 기술주에 우호적인 선행 신호로 작용했습니다. 셋째, 달러/원 1,345.12 및 전일 대비 -0.76%의 원화 강세가 외국인 위험선호에 우호적인 금융 여건을 제공했습니다. 반면 S&P500 -0.38%, Nasdaq -0.29%, Dow -0.51%, 미국 10년물 4.78%, 브렌트유 96.28달러는 상승을 제한할 수 있는 반대 신호였습니다. 장 마감 결과는 이 중 반도체·국내 위험선호 신호가 단기적으로 우세했음을 보여줍니다.",
          "data_synthesis": {
            "domestic_market": "Morning 기준 KOSPI 6,687.21, KOSDAQ 813.50에서 출발했고 실제 장 마감은 KOSPI 6,995.39, KOSDAQ 822.19였습니다. 실제 KOSPI 방향은 상승이며 기준 대비 수익률은 4.60849891%입니다. Morning 당시 최근 10일 중 7일 상승, KOSPI 20일선 6,690.76, 20일 변동성 2.70%로 단기 강세와 추세 불확실성이 공존했습니다.",
            "fear_greed": "공포·탐욕 지수는 61로 탐욕 구간이었지만, 모멘텀 점수 50, 거래량 추세 점수 33, 20일선 대비 -0.05%로 과열과 추세 확산이 완전히 확인된 상태는 아니었습니다. 실제 상승은 이 낙관 심리와 반도체 선행 신호가 단기적으로 작동했음을 보여주지만, 지속성은 별도 확인이 필요합니다.",
            "flows": "외국인·기관 수급은 KRX provider_auth_required 상태로 KOSPI·KOSDAQ 및 관심종목 모두 결측입니다. 수급 숫자를 0으로 대체하지 않았으며, 이번 상승의 원인을 수급으로 단정하지 않습니다.",
            "intraday_context": "장중 분봉·breadth의 상세 수치는 보존된 자료에서 제공되지 않았습니다. 따라서 상승 종목 확산, 장중 고점 유지 여부, 거래대금의 방향은 판정하지 않습니다. Morning 자료의 거래량 5일/20일 비율은 1.00배였고 52주 고가·저가 근접 종목은 각각 0개였습니다.",
            "leaders_and_breadth": "해외 반도체 강세가 국내 대형 기술주에 우호적이었고, 삼성전자·SK하이닉스 관련 뉴스 심리는 긍정 또는 중립으로 집계되었습니다. 자동차·일부 대형주는 약세 신호가 남아 있었습니다. 상세 국내 breadth는 결측이므로 시장 전체의 폭넓은 리더십으로 확대 해석하지 않습니다.",
            "macro_and_events": "미국 10년물 금리는 4.78%로 부담을 남겼고 브렌트유 96.28달러, WTI 91.48달러도 인플레이션 위험을 유지했습니다. 9월 11일 미국 8월 CPI와 9월 16일 FOMC가 예정되어 있어 다음 세션 이후에도 금리 민감도가 높습니다. 금 선물은 1.06% 상승해 방어 수요도 관찰되었습니다.",
            "ml_relative_context": "ML은 KOSPI 절대 방향이 아니라 5거래일 후 종목별 KOSPI 대비 상대수익률을 예측합니다. Morning 산출은 50종목이며 상대 강세 6, 중립 22, 약세 22, 시장 편향 약세였습니다. 이번 장 마감만으로 ML 정확도나 실패를 판정하지 않으며, evaluated_count 0, pending_count 200으로 기록합니다.",
            "news": "뉴스 감성은 삼성전자와 셀트리온 등에서 주주환원·반도체·성장 기대가 긍정적으로 나타났고, 자동차·기아 및 일부 종목에는 하락·목표가 하향·부진 신호가 공존했습니다. 뉴스는 방향을 보조했지만 가격 결과를 단독으로 설명하는 근거로 사용하지 않습니다.",
            "overnight_cross_asset": "S&P500, Nasdaq, Dow는 약세였으나 SOX·SMH와 AMD·Micron은 강했습니다. Nikkei225와 항셍도 상승했고, 원화는 강세였습니다. 반도체 업종의 차별적 강세가 미국 지수 전체 방향보다 국내 결과에 더 가까운 선행 신호로 작용했습니다.",
            "technical": "Morning 당시 KOSPI는 20일선 바로 아래였고 개별 종목 기술 신호는 정배열과 역배열이 혼재했습니다. 실제 종가 상승은 단기 모멘텀 확인에 해당하지만, 20일선 상회가 지속되는지와 거래량·breadth 확산이 이어지는지는 아직 확인되지 않았습니다."
          },
          "failure_analysis": "LLM 절대 방향 판단은 실패하지 않았습니다. 이번 결과는 LLM 방향 성공 사례이며, ML 상대강도 예측은 5회 관측 세션이 아직 성숙하지 않아 평가하지 않았습니다. 따라서 개선 실패나 ML 실패를 기록할 근거가 없습니다. 다만 수급 결측과 상세 breadth 부재 때문에 결과의 원인 귀속에는 제한이 남아 있습니다.",
          "improvement": {
            "action_detail": "평가된 LLM 실패와 성숙한 ML 실패가 관측되지 않았으므로 이번 Evening에는 개선 제안을 생성하지 않습니다.",
            "action_type": "none",
            "expected_impact": "none",
            "reason": "llm_direction_correct_and_ml_target_not_mature"
          },
          "rationale_vs_actual": "Morning은 KOSPI 상승을 우선 시나리오로 제시하면서도 20일선 부근의 약한 추세, 미국 주요 지수 약세, 금리·유가 부담, 수급 결측을 함께 반영해 confidence 0.62를 부여했습니다. 실제로 KOSPI는 6,995.39로 마감해 Morning 기준 대비 상승했고 방향 판단은 적중했습니다. 따라서 방향 판단의 근거인 국내 동반 상승, 반도체 해외 강세, 원화 강세의 조합은 유효했습니다. 다만 실제 상승폭은 기준값 대비 4.60849891%로 크게 나타났으므로, 다음 분석에서는 방향 적중과 별개로 장중 확장 폭을 설명하는 breadth·거래량·수급 자료를 분리해 확인해야 합니다. KRX 인증 문제로 외국인·기관 수급은 끝까지 확인되지 않았으므로 수급이 상승을 만들었다고 주장하지 않습니다.",
          "summary": "Morning의 상승 전망은 실제 장 마감에서도 확인되었습니다. KOSPI는 Morning 기준 6,687.21에서 6,995.39로 상승했고, 실제 방향은 상승으로 판정되었습니다. 국내 위험선호와 반도체 중심의 해외 counter-signal이 미국 주요 지수 약세와 금리·유가 부담을 상쇄한 결과로 해석됩니다. 다만 Morning이 경고한 추세 확산의 한계와 수급 데이터 결측은 여전히 유효하며, 이번 결과만으로 전면적인 추세 전환이나 구조적 개선을 판단하지 않습니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6995.39,
          "kosdaq_close": 822.19,
          "direction": "상승",
          "return_pct": 4.60849891,
          "observed_at": "2026-09-07T16:30:50.071548+09:00",
          "llm_success": true
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": true,
          "failure": false
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 200,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "none",
          "proposal_id": null,
          "actual_applied": false,
          "observation_state": "not_started"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-07/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-07/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-07-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-d7131d8aba05c6bd"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-07-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-07-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-04-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-04",
        "run_status": "success",
        "quality_status": "degraded",
        "input_snapshot_id": "input-snapshot-20d232a6e1bc7e81",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-04",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "보합",
          "confidence": 0.61,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "applied",
            "source": "previous_cycle",
            "readback_verified": true,
            "sha256": "ce3274d5d84fa63e2586fdc75406105afb7993857aeab4090a4b74d681011be0",
            "used": false,
            "used_fields": [],
            "application_note": null
          },
          "snapshot_cutoff": "2026-09-04T07:31:10.017095+09:00",
          "generated_at": "2026-09-04T07:35:16.773000+09:00",
          "summary": "KOSPI는 전일 0.26% 상승했지만 6,579.48로 20일선 6,671.22를 1.38% 밑돌고, KOSDAQ은 1.71% 하락해 국내 추세는 혼조·약세 쪽입니다. 반면 미국 증시와 주요 ADR, 달러 약세, VIX 하락은 위험선호와 반도체·대형주 반등 가능성을 보탭니다. 수급과 국내 breadth가 비어 있고 ML은 50개 종목 모두 약세 상대신호를 내므로, 어느 한 방향으로 강하게 기울기보다 보합을 기본 시나리오로 판단합니다.",
          "market_summary": "KOSPI 종가는 6,579.48로 전일 0.26% 상승했지만 20일선 6,671.22 대비 이격도는 -1.38%입니다. KOSDAQ은 790.21로 1.71% 하락하고 20일선 대비 -4.75%여서 국내 시장 내부의 추세와 breadth는 균일하지 않은 것으로 관찰됩니다. KOSPI 단기 심리는 70으로 낙관, KOSDAQ은 40으로 비관입니다.",
          "overseas_market_and_overnight": "미국은 Nasdaq +1.40%, S&P500 +1.06%, Dow +1.18%로 상승했고 QQQ도 +1.19%입니다. 반도체는 SOX +0.11%, SMH +0.39%로 강한 상승은 아니지만 NVDA +1.80%, Intel +1.80%, MU +0.22%가 지지했습니다. 한국 ADR은 KB금융 +4.84%, 신한지주 +3.76%, POSCO +2.77%, 한전 +3.45% 등 금융·대형주가 강했고, 다만 QCOM은 -0.82%, AMD는 -0.20%로 업종 신호가 완전히 일치하지 않습니다. DAX는 -0.50%, 니케이225는 -2.85%, 항셍은 -0.07%로 아시아·유럽 일부의 약세가 상쇄 요인입니다.",
          "macro": "달러지수는 99.00으로 0.56% 하락했고 달러/원은 1.24% 하락한 1,355.8로 원화 부담이 완화되는 방향입니다. 미국 10년물 금리는 4.76으로 0.71% 하락했고 VIX는 14.32로 5.79% 하락해 금융 여건과 변동성 측면에서는 우호적입니다. 다만 최신 CPI는 2026-07-01 기준 전년비 3.54%, PPI는 8.27%이며 9월 11일 미국 8월 CPI 발표가 예정되어 이벤트 리스크가 남아 있습니다.",
          "sentiment_and_supply": "공포·탐욕 종합점수는 58(중립)이며 관찰 의견은 관망 또는 선별 매수입니다. 최근 10일 중 7일 상승, 20일 변동성 2.89%, 거래량 5일/20일 1.03배, 52주 고점 근접 종목 2개·저점 근접 0개가 확인됩니다. 뉴스는 KB금융·신한지주와 일부 2차전지·바이오에 긍정적이지만 자동차 판매 부진, 반도체 목표주가 하향, LG화학의 적자·우려 등 종목별 충돌이 있습니다. 외국인·기관 수급과 breadth 원자료는 제공되지 않아 수급 확인은 불가능합니다.",
          "ml_summary": "ML은 LightGBM·XGBoost·LSTM 3개 모델로 73개 feature를 사용했고 5세션 상대 초과성과를 대상으로 50개 종목을 생성했습니다. 50개 모두 market_bias가 약세이며, 요청·실제 모델 세트와 ensemble weight(lgb 0.3, lstm 0.4, xgb 0.3)는 일치합니다. 트리 검증 평균 accuracy는 0.7107, AUC는 0.7748이지만 이는 KOSPI 절대 방향 확률이 아니라 종목 상대성과 신호입니다.",
          "forecast": "기본 전망은 보합입니다. 미국 위험선호·원화 강세·낮은 변동성이 하단을 지지할 수 있으나, KOSPI의 20일선 하회, KOSDAQ 약세, 국내 수급·breadth 부재, ML의 전면 약세 상대신호가 상단 추격을 제한합니다. 장중에는 반도체·금융 ADR의 국내 반영 여부와 KOSPI가 20일선에 접근하는지를 우선 확인합니다.",
          "rationale": [
            "KOSPI는 전일 0.26% 상승했지만 6,579.48로 20일선 6,671.22를 1.38% 하회해 추세 회복이 확인되지 않았습니다.",
            "KOSDAQ은 790.21로 1.71% 하락하고 20일선 대비 -4.75%여서 국내 위험선호의 폭이 좁습니다.",
            "Nasdaq +1.40%, S&P500 +1.06%, Dow +1.18%와 QQQ +1.19%는 개장 상방 요인입니다.",
            "SOX +0.11%, SMH +0.39%와 NVDA·Intel 각 +1.80%는 반도체 심리를 지지하지만 SOX 상승폭은 제한적입니다.",
            "DXY -0.56%, 달러/원 -1.24%, 미국 10년물 -0.71%, VIX -5.79%는 원화·금융여건 측면에서 우호적입니다.",
            "니케이225 -2.85%, DAX -0.50%와 항셍 -0.07%는 해외 위험선호가 전면적이지 않음을 보여줍니다.",
            "공포·탐욕 점수는 58로 중립이고 거래량 비율도 1.03배에 그쳐 강한 추세 확인이 부족합니다.",
            "외국인·기관 수급과 국내 breadth가 없어 해외 반등이 국내 지수 전반으로 확산되는지 검증할 수 없습니다.",
            "ML 50개 종목이 모두 약세 상대신호를 냈지만 이는 KOSPI 절대 방향과 다른 목표이므로 보합 판단을 보조하는 경고로만 사용합니다."
          ],
          "observation_points": [
            "KOSPI 6,579.48과 20일선 6,671.22의 회복 여부",
            "KOSDAQ 790.21의 추가 약세 여부",
            "반도체 대형주와 금융주의 ADR 상승분 국내 반영 여부",
            "장중 외국인·기관 수급 및 시장 breadth 공개 여부",
            "달러/원 1,355.8과 미국 10년물 4.76의 방향",
            "9월 11일 미국 8월 CPI 이벤트 전 위험선호 유지 여부",
            "ML 50개 종목 약세 상대신호의 실제 종목별 확산 여부"
          ],
          "uncertainties": [
            "외국인·기관 순매수와 프로그램 수급 원자료가 제공되지 않았습니다.",
            "시장 전체 상승·하락 종목 수와 업종별 breadth가 제공되지 않았습니다.",
            "일부 아시아·유럽 지수는 2026-09-02 기준으로 최신성이 제한됩니다.",
            "최신 미국 CPI·PPI 지표는 2026-07-01 기준이며 9월 11일 CPI 발표 전입니다.",
            "ML은 5세션 상대 초과성과 신호이며 KOSPI 절대 방향을 직접 예측하지 않습니다.",
            "수급 원자료 부재로 국내 약세를 외국인·기관 매도로 해석하지 않았습니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-04/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6579.48,
              "change_pct": 0.26,
              "sma20": 6671.22,
              "disparity_20_pct": null,
              "sentiment": 70,
              "sentiment_signal": "낙관"
            },
            "kosdaq": {
              "close": 790.21,
              "change_pct": -1.71,
              "sma20": null,
              "disparity_20_pct": -4.75,
              "sentiment": 40,
              "sentiment_signal": "비관"
            },
            "fear_greed_score": 58,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 43,
                "value": -1.38,
                "description": "KOSPI 20일선 대비 -1.38%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 98,
                "value": 2.89,
                "description": "KOSPI 20일 변동성 2.89%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 70,
                "value": 7,
                "description": "최근 10일 중 7일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 41,
                "value": -1.38,
                "description": "20일 이격도 -1.38%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 35,
                "value": 1.03,
                "description": "거래량 5일/20일 비율 1.03x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 52,
                "value": null,
                "description": "52주高 근접 2개, 低 근접 0개 (/50)"
              }
            ],
            "supply": {
              "status": "missing",
              "available": false,
              "source": "KRX/pykrx",
              "reason": "provider_auth_required",
              "as_of": null,
              "collected_at": null,
              "hash": null,
              "market_scope": [],
              "market_statuses": [],
              "market_flows": [],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-03",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 65,
                  "close": 365500,
                  "change_pct": 5.18,
                  "rsi": 53.4,
                  "macd_hist": 429.475,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -30.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 539000,
                  "change_pct": 0.19,
                  "rsi": 57.9,
                  "macd_hist": 4312.987,
                  "bb_pband": 0.68,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -25.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 183800,
                  "change_pct": 4.43,
                  "rsi": 57.4,
                  "macd_hist": 2306.96,
                  "bb_pband": 0.77,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -38.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 65,
                  "close": 199700,
                  "change_pct": -0.4,
                  "rsi": 52,
                  "macd_hist": 151.655,
                  "bb_pband": 0.51,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -54.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 65,
                  "close": 34650,
                  "change_pct": 0.43,
                  "rsi": 62.3,
                  "macd_hist": 126.679,
                  "bb_pband": 0.85,
                  "vol_ratio": 2.2,
                  "pct_52w_high": -16.5,
                  "alignment": "정배열",
                  "reasons": [
                    "거래량x2.2",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 65,
                  "close": 147900,
                  "change_pct": -1.99,
                  "rsi": 57.2,
                  "macd_hist": 196.385,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -16.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 119500,
                  "change_pct": 6.13,
                  "rsi": 53.6,
                  "macd_hist": 217.867,
                  "bb_pband": 0.61,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -39.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 55500,
                  "change_pct": 4.32,
                  "rsi": 55.5,
                  "macd_hist": 223.671,
                  "bb_pband": 0.71,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -39.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 60,
                  "close": 1477000,
                  "change_pct": -1.6,
                  "rsi": 44.8,
                  "macd_hist": -14646.457,
                  "bb_pband": 0.01,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -25.7,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.01)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 60,
                  "close": 207500,
                  "change_pct": -0.72,
                  "rsi": 44.8,
                  "macd_hist": -1713.314,
                  "bb_pband": 0.09,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -31.7,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.09)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 60,
                  "close": 283000,
                  "change_pct": -5.19,
                  "rsi": 46.1,
                  "macd_hist": -5220.165,
                  "bb_pband": 0.01,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -35.4,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.01)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 60,
                  "close": 118300,
                  "change_pct": -0.17,
                  "rsi": 61.3,
                  "macd_hist": 505.742,
                  "bb_pband": 0.79,
                  "vol_ratio": 1,
                  "pct_52w_high": -36.4,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010130",
                  "name": "고려아연",
                  "score": 60,
                  "close": 1224000,
                  "change_pct": 0.66,
                  "rsi": 50.3,
                  "macd_hist": -11021.028,
                  "bb_pband": 0.4,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -44.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 226000,
                  "change_pct": -3,
                  "rsi": 49.4,
                  "macd_hist": -909.651,
                  "bb_pband": 0.26,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -41.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 58,
                  "close": 423500,
                  "change_pct": 1.93,
                  "rsi": 34.4,
                  "macd_hist": -8075.81,
                  "bb_pband": 0.05,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -48.5,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(34)",
                    "BB하단(0.05)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1596000,
                  "change_pct": -1.05,
                  "rsi": 45.5,
                  "macd_hist": 16569.718,
                  "bb_pband": 0.48,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -46.6,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 372000,
                  "change_pct": -0.27,
                  "rsi": 51,
                  "macd_hist": 2269.179,
                  "bb_pband": 0.59,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -34.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 55,
                  "close": 114500,
                  "change_pct": 3.62,
                  "rsi": 65.6,
                  "macd_hist": 750.021,
                  "bb_pband": 1.1,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -1.2,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.10)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 55,
                  "close": 106500,
                  "change_pct": 0.19,
                  "rsi": 45.3,
                  "macd_hist": 544.515,
                  "bb_pband": 0.28,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -58.4,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 55,
                  "close": 545000,
                  "change_pct": 0,
                  "rsi": 46.9,
                  "macd_hist": 2244.952,
                  "bb_pband": 0.44,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -38.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                }
              ],
              "gainers": [
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 50,
                  "close": 702000,
                  "change_pct": 6.85,
                  "rsi": 60.6,
                  "macd_hist": 4990.613,
                  "bb_pband": 1.01,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -7.3,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.01)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 45,
                  "close": 287000,
                  "change_pct": 6.69,
                  "rsi": 57.3,
                  "macd_hist": 2163.631,
                  "bb_pband": 0.95,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -34.4,
                  "alignment": "혼조",
                  "reasons": [
                    "BB상단(0.95)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 119500,
                  "change_pct": 6.13,
                  "rsi": 53.6,
                  "macd_hist": 217.867,
                  "bb_pband": 0.61,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -39.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 40,
                  "close": 136900,
                  "change_pct": 5.47,
                  "rsi": 73.8,
                  "macd_hist": 1539.228,
                  "bb_pband": 1.21,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -8.6,
                  "alignment": "정배열",
                  "reasons": [
                    "RSI과매수(74)",
                    "BB상단(1.21)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 50,
                  "close": 177900,
                  "change_pct": 5.2,
                  "rsi": 61,
                  "macd_hist": 969.11,
                  "bb_pband": 1.05,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -8.5,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.05)",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 65,
                  "close": 365500,
                  "change_pct": 5.18,
                  "rsi": 53.4,
                  "macd_hist": 429.475,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -30.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 183800,
                  "change_pct": 4.43,
                  "rsi": 57.4,
                  "macd_hist": 2306.96,
                  "bb_pband": 0.77,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -38.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "047050",
                  "name": "포스코인터내셔널",
                  "score": 65,
                  "close": 55500,
                  "change_pct": 4.32,
                  "rsi": 55.5,
                  "macd_hist": 223.671,
                  "bb_pband": 0.71,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -39.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "015760",
                  "name": "한국전력",
                  "score": 52,
                  "close": 32450,
                  "change_pct": 3.84,
                  "rsi": 45.7,
                  "macd_hist": 6.087,
                  "bb_pband": 0.38,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -53.3,
                  "alignment": "역배열",
                  "reasons": [
                    "MACD골든",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 55,
                  "close": 114500,
                  "change_pct": 3.62,
                  "rsi": 65.6,
                  "macd_hist": 750.021,
                  "bb_pband": 1.1,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -1.2,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.10)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 60,
                  "close": 283000,
                  "change_pct": -5.19,
                  "rsi": 46.1,
                  "macd_hist": -5220.165,
                  "bb_pband": 0.01,
                  "vol_ratio": 1.8,
                  "pct_52w_high": -35.4,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.01)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "009150",
                  "name": "삼성전기",
                  "score": 55,
                  "close": 1348000,
                  "change_pct": -3.71,
                  "rsi": 47.9,
                  "macd_hist": 9545.582,
                  "bb_pband": 0.43,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -44.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "018260",
                  "name": "삼성에스디에스",
                  "score": 60,
                  "close": 226000,
                  "change_pct": -3,
                  "rsi": 49.4,
                  "macd_hist": -909.651,
                  "bb_pband": 0.26,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -41.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "017670",
                  "name": "SK텔레콤",
                  "score": 50,
                  "close": 89000,
                  "change_pct": -2.63,
                  "rsi": 42.8,
                  "macd_hist": -977.831,
                  "bb_pband": 0.24,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -36.2,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 65,
                  "close": 147900,
                  "change_pct": -1.99,
                  "rsi": 57.2,
                  "macd_hist": 196.385,
                  "bb_pband": 0.66,
                  "vol_ratio": 1.1,
                  "pct_52w_high": -16.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "207940",
                  "name": "삼성바이오로직스",
                  "score": 60,
                  "close": 1477000,
                  "change_pct": -1.6,
                  "rsi": 44.8,
                  "macd_hist": -14646.457,
                  "bb_pband": 0.01,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -25.7,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.01)"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "259960",
                  "name": "크래프톤",
                  "score": 40,
                  "close": 218000,
                  "change_pct": -1.36,
                  "rsi": 41.5,
                  "macd_hist": -407.1,
                  "bb_pband": 0.16,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -34.8,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1596000,
                  "change_pct": -1.05,
                  "rsi": 45.5,
                  "macd_hist": 16569.718,
                  "bb_pband": 0.48,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -46.6,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "036570",
                  "name": "엔씨소프트",
                  "score": 48,
                  "close": 217000,
                  "change_pct": -0.91,
                  "rsi": 38.8,
                  "macd_hist": -905.435,
                  "bb_pband": 0.19,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -36.8,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(39)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "035420",
                  "name": "NAVER",
                  "score": 60,
                  "close": 207500,
                  "change_pct": -0.72,
                  "rsi": 44.8,
                  "macd_hist": -1713.314,
                  "bb_pband": 0.09,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -31.7,
                  "alignment": "혼조",
                  "reasons": [
                    "BB하단(0.09)"
                  ],
                  "is_watchlist": true
                }
              ],
              "highs_52w": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 55,
                  "close": 114500,
                  "change_pct": 3.62,
                  "rsi": 65.6,
                  "macd_hist": 750.021,
                  "bb_pband": 1.1,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -1.2,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.10)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 55,
                  "close": 139500,
                  "change_pct": 3.41,
                  "rsi": 63,
                  "macd_hist": 766.151,
                  "bb_pband": 0.99,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -2.1,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.99)",
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": false
                }
              ]
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7747.71,
              "change_pct": 1.06,
              "date": "2026-09-03"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26584.06,
              "change_pct": 1.4,
              "date": "2026-09-03"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 53686.11,
              "change_pct": 1.18,
              "date": "2026-09-03"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11352.13,
              "change_pct": 0.11,
              "date": "2026-09-03"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 228.45,
              "change_pct": 1.8,
              "date": "2026-09-03"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 456.16,
              "change_pct": -0.2,
              "date": "2026-09-03"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 958.16,
              "change_pct": 0.22,
              "date": "2026-09-03"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 168.57,
              "change_pct": -0.82,
              "date": "2026-09-03"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 91.67,
              "change_pct": 1.8,
              "date": "2026-09-03"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 14.32,
              "change_pct": -5.79,
              "date": "2026-09-03"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 20.16,
              "change_pct": -4.32,
              "date": "2026-09-03"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.76,
              "change_pct": -0.71,
              "date": "2026-09-03"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1355.8,
              "change_pct": -1.24,
              "date": "2026-09-03"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 155.85,
              "change_pct": -2.71,
              "date": "2026-09-03"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 99,
              "change_pct": -0.56,
              "date": "2026-09-03"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 95.82,
              "change_pct": 0.2,
              "date": "2026-09-03"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 91.77,
              "change_pct": 0.84,
              "date": "2026-09-03"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4523.4,
              "change_pct": 3.6,
              "date": "2026-09-03"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 64325.64,
              "change_pct": -2.85,
              "date": "2026-09-02"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 25311.21,
              "change_pct": -0.07,
              "date": "2026-09-02"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6362.15,
              "change_pct": -0.11,
              "date": "2026-09-02"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25839.33,
              "change_pct": -0.5,
              "date": "2026-09-02"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 717.67,
              "change_pct": 1.19,
              "date": "2026-09-03"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 552.6,
              "change_pct": 0.39,
              "date": "2026-09-03"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 63.13,
              "change_pct": 2.77,
              "date": "2026-09-03"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 132.36,
              "change_pct": 4.84,
              "date": "2026-09-03"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 84.47,
              "change_pct": 3.76,
              "date": "2026-09-03"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 12,
              "change_pct": 3.45,
              "date": "2026-09-03"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.83,
              "change_pct": 0.92,
              "date": "2026-09-03"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 37.28,
              "change_pct": 0.57,
              "date": "2026-09-03"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 284.057,
                "latest_date": "2026-07-01",
                "yoy_pct": 8.27,
                "mom_pct": -0.78
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-07-01",
                "yoy_pct": 0,
                "mom_pct": -2.38
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 7
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 12
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 36
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 42
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 62
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 70
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 84
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 98
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 103
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 40,
                "label": "매우긍정",
                "summary": "호재: 상승, 호재, 주주환원 | 악재: 주의, 하락",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - 매일경제",
                  "금융지주 회장, 자사주 샀다가 함영주 14억·진옥동 13억 차익 - KB Think"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 31,
                "label": "긍정",
                "summary": "호재: 호실적, 기대, 실적 개선 | 악재: 주의",
                "articles": [
                  "“금리·환율까지 우주의 기운이 모이는중”…금융지주 주가 ‘불기둥’ - 매일경제",
                  "신한증권, 하나금융지주 목표주가↑…\"3분기 호실적 기대\" - 연합뉴스"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 매수, 순매수, 주주환원",
                "articles": [
                  "셀트리온, 시밀러 시장서 도약...2026년 실적·주가 분수령 - 증권일보",
                  "셀트리온, 1천억 규모 자사주 또 매입… 주가 변동 주목 - 중부일보"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 하락",
                "articles": [
                  "[오늘 이 종목] \"현대차 수급 방어력과 HPSP AI 모멘텀 주목… 밸류체인 및 실적 핵심주 담아라\" - v.daum.net"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 12,
                "label": "중립",
                "summary": "호재: 상승, 수혜, 반등 | 악재: 하락, 악재",
                "articles": [
                  "[리포트 브리핑]LG에너지솔루션, '미국 BESS 현지화의 최대 수혜' 목표가 574,000원 - 유안타증권 - 뉴스핌",
                  "\"이러다 공모가도 볼 판\"…흑자에도 주가 떨어지자 '한숨' [종목+] - hankyung.com"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 9,
                "label": "중립",
                "summary": "호재: 상승, 수혜, 기대 | 악재: 하락, 적자, 매각",
                "articles": [
                  "\"전기국가 전환으로 수혜 기대\" 삼성SDI 주가 상승 - gukjenews.com",
                  "전고점향해 달리는 삼성SDI … ESS, 데이터센터서 금맥캔다 - hankyung.com"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 9,
                "label": "중립",
                "summary": "호재: 회복, 상승, 기대감 | 악재: 물량",
                "articles": [
                  "[오너 자본방정식] 삼성물산·제일모직 합병 11년…이재용 회장이 얻은 것 - v.daum.net",
                  "실리콘 업황 회복·삼성물산 특별배당…KCC 주가도 ‘기지개’ - hankyung.com"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": 9,
                "label": "중립",
                "summary": "호재: 상승, 급등, 기대감 | 악재: 하락, 부진, 매각",
                "articles": [
                  "포스코퓨처엠 주가 3%대 하락…전날 7% 급등 후 숨고르기 - 잡포스트",
                  "포스코퓨처엠 투자분석 2026. 09. 01 - 주달"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -21,
                "label": "부정",
                "summary": "호재: 상승, 반등 | 악재: 급락, 부진, 하락",
                "articles": [
                  "현대차 6%, 기아 5.6% 현대모비스 6%...현대차그룹주, 현대차 8월 글로벌 판매 부진에 일제히 급락 - 비욘드포스트",
                  "실시간 주가 정보 | 기아 일자별 주가와 분석차트 | 기아 글로벌 브랜드 사이트 - Kia Global"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -18,
                "label": "부정",
                "summary": "호재: 성장, 반등 | 악재: 블록딜, 하락, 급락",
                "articles": [
                  "[서치 e종목] 리노공업, 대규모 캐파 증설 등으로 점진적 성장 전망…주가 향방은? - 데일리인베스트",
                  "리노공업 노조 파업 장기화 기로…증권가 목표주가↓ - v.daum.net"
                ]
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": -12,
                "label": "중립",
                "summary": "호재: 강세, 기대, 상승 | 악재: 붕괴, 하락, 악재",
                "articles": [
                  "[특징주] 석유화학 구조재편 기대…관련株 'LG화학·롯데케미칼' 강세 - 뉴스핌",
                  "\"엔솔 분할 뒤 주가 3분의 1토막\"…LG화학 해외주주 달래기 - v.daum.net"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -3,
                "label": "중립",
                "summary": "호재: 수주, 성장 | 악재: 유상증자, 희석",
                "articles": [
                  "삼성바이오, 3조 유증 택한 이유…‘노사·수주’에 주가 달렸다 - 조선비즈 - Chosunbiz",
                  "'3조 유증' 삼성바이오로직스, 주주 달래기…\"15조 투자 위한 전략적 선택\" - v.daum.net"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": 0,
                "label": "중립",
                "summary": "호재: 매수 | 악재: 하락",
                "articles": [
                  "보유주식 82% 묶였는데 25억 만기…박병욱 제노레이 대표 '담보 부담↑' : 네이버 블로그 - Naver Blog",
                  "재무정보 - NAVERCorp."
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": 0,
                "label": "중립",
                "summary": "호재: 호황, 상승 | 악재: 하락, 약세",
                "articles": [
                  "씨티, 환율 부담 반영해 SK하이닉스·삼성전자 목표주가 하향 - v.daum.net",
                  "삼성전자 목표가 '49만원 vs 40만원'…엇갈리는 눈높이 - hankyung.com"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": 0,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스",
                  "'유증 축소' 에코프로비엠, 최악의 시나리오는 피했다 - 한국금융신문"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.006,
            "tree_metrics": {
              "avg_auc": 0.7748,
              "avg_accuracy": 0.7107
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7727,
              "accuracy": 0.705
            },
            "relative_strength": [
              {
                "ticker": "298040",
                "name": "효성중공업",
                "price": 2725000,
                "relative_rank_pct": 80,
                "return_5d_pct": -11.5,
                "return_20d_pct": -8.71,
                "rsi": 38.7,
                "position_52w_pct": 43.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1596000,
                "relative_rank_pct": 66.9,
                "return_5d_pct": -7.75,
                "return_20d_pct": -4.32,
                "rsi": 50.2,
                "position_52w_pct": 49.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10070,
                "relative_rank_pct": 66.9,
                "return_5d_pct": -17.73,
                "return_20d_pct": -26.76,
                "rsi": 16.6,
                "position_52w_pct": 4.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "010120",
                "name": "LS ELECTRIC",
                "price": 192100,
                "relative_rank_pct": 66.9,
                "return_5d_pct": -12.48,
                "return_20d_pct": -9.39,
                "rsi": 38.1,
                "position_52w_pct": 49.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "402340",
                "name": "SK스퀘어",
                "price": 981000,
                "relative_rank_pct": 65,
                "return_5d_pct": -8.15,
                "return_20d_pct": -12.33,
                "rsi": 37.5,
                "position_52w_pct": 41.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "267260",
                "name": "HD현대일렉트릭",
                "price": 706000,
                "relative_rank_pct": 63.1,
                "return_5d_pct": -14.01,
                "return_20d_pct": -8.55,
                "rsi": 37.8,
                "position_52w_pct": 24.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 130800,
                "relative_rank_pct": 63.1,
                "return_5d_pct": 16.79,
                "return_20d_pct": 19.78,
                "rsi": 56.6,
                "position_52w_pct": 63.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "009150",
                "name": "삼성전기",
                "price": 1348000,
                "relative_rank_pct": 59.4,
                "return_5d_pct": -2.67,
                "return_20d_pct": -0.59,
                "rsi": 37.7,
                "position_52w_pct": 52.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "price": 114500,
                "relative_rank_pct": 57.5,
                "return_5d_pct": 5.24,
                "return_20d_pct": 10.52,
                "rsi": 65.9,
                "position_52w_pct": 97.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "034730",
                "name": "SK",
                "price": 545000,
                "relative_rank_pct": 57.5,
                "return_5d_pct": -1.98,
                "return_20d_pct": -3.02,
                "rsi": 48.4,
                "position_52w_pct": 52,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4315,
                "relative_rank_pct": 20,
                "return_5d_pct": 1.65,
                "return_20d_pct": 2.25,
                "rsi": 51.4,
                "position_52w_pct": 35,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "price": 187100,
                "relative_rank_pct": 20,
                "return_5d_pct": -2.2,
                "return_20d_pct": -1.68,
                "rsi": 22.9,
                "position_52w_pct": 35.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "316140",
                "name": "우리금융지주",
                "price": 34650,
                "relative_rank_pct": 20,
                "return_5d_pct": 5.16,
                "return_20d_pct": 3.9,
                "rsi": 61,
                "position_52w_pct": 61.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005490",
                "name": "POSCO홀딩스",
                "price": 342000,
                "relative_rank_pct": 21.9,
                "return_5d_pct": 0.74,
                "return_20d_pct": 7.89,
                "rsi": 58.1,
                "position_52w_pct": 29.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "003470",
                "name": "유안타증권",
                "price": 4700,
                "relative_rank_pct": 25.6,
                "return_5d_pct": -1.05,
                "return_20d_pct": 2.4,
                "rsi": 51,
                "position_52w_pct": 27.2,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1477000,
                "relative_rank_pct": 25.6,
                "return_5d_pct": -7.34,
                "return_20d_pct": -0.94,
                "rsi": 37.1,
                "position_52w_pct": 32.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "138040",
                "name": "메리츠금융지주",
                "price": 136900,
                "relative_rank_pct": 25.6,
                "return_5d_pct": 15.04,
                "return_20d_pct": 13.7,
                "rsi": 78.9,
                "position_52w_pct": 75.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "price": 287000,
                "relative_rank_pct": 25.6,
                "return_5d_pct": 4.55,
                "return_20d_pct": 12.33,
                "rsi": 55.1,
                "position_52w_pct": 29.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 21350,
                "relative_rank_pct": 25.6,
                "return_5d_pct": -0.47,
                "return_20d_pct": 1.18,
                "rsi": 51.9,
                "position_52w_pct": 48.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "042700",
                "name": "한미반도체",
                "price": 210500,
                "relative_rank_pct": 25.6,
                "return_5d_pct": -5.18,
                "return_20d_pct": 0.72,
                "rsi": 36.8,
                "position_52w_pct": 37.5,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": [
            "외국인·기관 수급 원자료 (미확보)"
          ]
        },
        "evening_analysis": {
          "actual_driver_analysis": "실제 KOSPI는 Morning 기준값 6,579.48에서 6,687.21로 상승했고, KOSDAQ도 790.21에서 813.5로 반등했습니다. Morning에 없던 장 마감 수치로 지수 방향은 확인되지만, 시가·고가·저가·거래대금·전체 상승하락 종목 수와 업종별 breadth는 보존된 자료에 없어 장중 경로와 시장 확산 폭은 확인할 수 없습니다. 종목 기술 자료에서는 LG화학 +6.69%, KB금융 +5.20%, LG에너지솔루션 +5.18%, 기아 +2.41%, 현대차 +1.46% 등이 상승했고, 삼성전자 -0.20%, SK하이닉스 -1.05%, 삼성바이오로직스 -1.60%, NAVER -0.72%는 약세였습니다. 따라서 지수 상승은 전 종목의 균일한 추세 전환이라기보다 일부 대형주·이차전지·금융 중심의 반등이 포함된 혼조 흐름일 가능성이 있으나, breadth 원자료 부재로 단정하지 않습니다. 해외에서는 전일 Nasdaq +1.40%, S&P500 +1.06%, Dow +1.18%, QQQ +1.19%, SMH +0.39%, NVDA +1.80%가 상승했고, DXY -0.56%, 달러/원 -1.24%, 미국 10년물 -0.71%, VIX -5.79%가 확인되어 국내 위험자산에 우호적인 출발 배경을 제공했습니다. 다만 니케이225 -2.85%, DAX -0.50% 등 지역별 약세와 SOX의 제한적 상승은 전면적 위험선호로 해석하기 어렵게 합니다.",
          "data_synthesis": {
            "cross_asset": "reviewed; US indices, semiconductor proxies, ADRs, FX, rates, volatility, oil and gold available",
            "domestic": "reviewed; close read-back available, intraday breadth and trading-flow raw data unavailable",
            "macro": "reviewed; latest CPI/PPI/unemployment observations are dated 2026-07-01, US August CPI is scheduled for 2026-09-11 and FOMC for 2026-09-16",
            "ml_relative": "reviewed; LightGBM/XGBoost/LSTM 73 features, 50 predictions, relative five-session target, 150 pending and 0 evaluated",
            "sentiment_news": "reviewed; fear-greed is 58 neutral, watchlist news signals conflict across semiconductor, battery, auto, bio, internet and financial names"
          },
          "failure_analysis": "Yura Morning의 KOSPI 절대 방향 예측은 실제 상승과 불일치했습니다. 관찰 가능한 원인은 국내 추세·KOSDAQ 약세와 수급 부재를 해외 위험선호·환율·변동성 개선보다 강하게 반영한 점, 그리고 전일 국내 약세 이후 반등이 발생할 가능성을 충분히 높이지 않은 점입니다. 이번 비교에서 확인된 실제 상승은 KOSPI 절대 방향에 대한 LLM 실패로 평가합니다. 반면 ML 50개 종목 신호는 5세션 상대 초과성과를 대상으로 하며 아직 성숙하지 않아 평가_count 0, pending 150으로 남아 있습니다. 따라서 ML 약세 신호를 이번 KOSPI 상승의 평가 실패나 개선 근거로 사용하지 않습니다. 수급과 breadth가 제공되지 않은 상태에서 이를 특정 투자 주체의 매수·매도로 해석하지 않습니다.",
          "improvement": "none",
          "rationale_vs_actual": "Morning의 보합 판단은 국내 KOSPI가 20일선 6,671.22를 1.38% 하회하고 KOSDAQ이 20일선 대비 -4.75%였다는 추세 약세, 공포·탐욕 58의 중립, 거래량 5일/20일 1.03배, 국내 수급·breadth 부재에 기반했습니다. 실제로는 해외 주식시장 반등, 원화 강세, 금리 하락, VIX 하락이 국내 약세 신호를 상쇄했고, 국내 일부 주도주의 상승이 지수 방향을 위로 전환했습니다. Morning도 해외 반등 가능성을 기록했지만 국내 추세 약세와 ML 약세 상대신호를 더 크게 반영하여 상승 가능성을 보합으로 낮춘 것이 오차의 핵심으로 보입니다. 다만 실제 외국인·기관 순매수, 프로그램 수급, 장중 breadth와 지수 고저가가 없어 상쇄 요인의 기여도를 정량적으로 분리할 수 없습니다.",
          "summary": "Morning은 KOSPI 6,579.48의 20일선 하회, KOSDAQ 약세, 국내 수급·breadth 부재와 ML의 약세 상대신호를 근거로 보합을 전망했습니다. 실제 KOSPI는 6,687.21로 1.63736344% 상승하고 KOSDAQ은 813.5로 마감하여 KOSPI 절대 방향 판단은 상승과 불일치했습니다. 미국 주요 지수와 원화·금리·변동성의 우호적 흐름, 그리고 국내 대형주·이차전지·금융 일부의 반등이 국내 지수 상승을 지지한 것으로 관찰됩니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6687.21,
          "kosdaq_close": 813.5,
          "direction": "상승",
          "return_pct": 1.63736344,
          "observed_at": "2026-09-04T16:30:10.958762+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 150,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "applied",
          "proposal_id": "proposal-4cd09d3ef93100d6",
          "actual_applied": true,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-04/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-04/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-04-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-20d232a6e1bc7e81"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-04-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-04-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-2026-09-03-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-03",
        "run_status": "success",
        "quality_status": "degraded",
        "input_snapshot_id": "input-snapshot-b31efaba14c81c01",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-03",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": false,
          "failure": true,
          "market": "KOSPI",
          "direction": "하락",
          "confidence": 0.68,
          "confidence_label": null,
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "not_evidenced",
            "source": "morning_artifact",
            "readback_verified": false,
            "sha256": null,
            "used": false,
            "used_fields": [],
            "application_note": null
          },
          "snapshot_cutoff": "2026-09-03T08:01:07.956749+09:00",
          "generated_at": "2026-09-03T08:03:45.478227+09:00",
          "summary": "전일 급락 이후 해외 증시는 반등했지만, KOSPI의 추세 약세와 ML의 약세 편향을 고려하면 오늘은 하락 압력이 우세해 보입니다.",
          "market_summary": "KOSPI는 전일 3.99% 하락해 6,562.72로 마감했고, 20일 이동평균선 아래에 있어 단기 추세는 약해 보입니다.",
          "overseas_market_and_overnight": "미국 주요 지수와 반도체 관련 지수는 전반적으로 상승했고 VIX도 하락해 overnight 환경은 우호적이지만, 국내 급락 이후의 수급 회복 여부가 중요합니다.",
          "macro": "동결된 거시·일정 자료를 기준으로 뚜렷한 방향성 재료보다 국내 단기 추세와 변동성의 영향이 큰 국면으로 보입니다.",
          "sentiment_and_supply": "공포·탐욕 지수는 57로 중립이지만 KOSPI 모멘텀과 이격도 점수는 약하고, 외국인·기관 수급 자료는 확인되지 않았습니다.",
          "ml_summary": "LightGBM·XGBoost·LSTM 3개 모델이 참여한 50종목 예측에서 시장 편향은 약세였고, 평균 모델 수익률은 -0.8%로 제시됐습니다.",
          "forecast": "해외 반등이 하락 압력을 일부 완화할 수 있지만, 국내 추세 약세와 수급 공백을 감안하면 보합보다 하락 가능성을 높게 봅니다.",
          "rationale": [
            "KOSPI가 전일 3.99% 급락했고 20일선 대비 약세입니다.",
            "ML 일일 예측의 시장 편향이 약세이고 평균 모델 수익률도 음수입니다.",
            "공포·탐욕 지수는 중립이지만 외국인·기관 수급 데이터가 없어 반등 지속을 확인하기 어렵습니다.",
            "미국 증시와 반도체주는 반등해 하락 폭을 줄일 수 있는 상쇄 요인은 있습니다."
          ],
          "observation_points": [
            "KOSPI 6,562.72 및 20일선 6,672.16 회복 여부",
            "미국 증시·반도체 반등의 국내 시장 전이",
            "외국인·기관 수급 데이터 복구 여부",
            "장 초반 변동성과 급락 이후 반발 매수 강도"
          ],
          "uncertainties": [
            "외국인·기관 수급 데이터가 제공되지 않았습니다.",
            "해외시장 반등이 국내 장 초반에 얼마나 반영될지 불확실합니다.",
            "confidence는 주관적 판단이며 보정된 확률이 아닙니다."
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-03/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "supplemental_after_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "supplemental"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "supplemental"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "market",
              "layer": "supplemental"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6562.72,
              "change_pct": -3.99,
              "sma20": 6672.16,
              "disparity_20_pct": null,
              "sentiment": 70,
              "sentiment_signal": "낙관"
            },
            "kosdaq": {
              "close": 803.98,
              "change_pct": -2.1,
              "sma20": null,
              "disparity_20_pct": -3.15,
              "sentiment": 50,
              "sentiment_signal": "중립"
            },
            "fear_greed_score": 57,
            "fear_greed_label": "중립",
            "fear_greed_advice": "관망 또는 선별 매수",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 42,
                "value": -1.64,
                "description": "KOSPI 20일선 대비 -1.64%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 98,
                "value": 3.01,
                "description": "KOSPI 20일 변동성 3.01%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 70,
                "value": 7,
                "description": "최근 10일 중 7일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 40,
                "value": -1.64,
                "description": "20일 이격도 -1.64%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 29,
                "value": 0.94,
                "description": "거래량 5일/20일 비율 0.94x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 49,
                "value": null,
                "description": "52주高 근접 1개, 低 근접 2개 (/50)"
              }
            ],
            "supply": {
              "status": "missing",
              "available": false,
              "source": "KRX/pykrx",
              "reason": "provider_auth_required",
              "as_of": null,
              "collected_at": null,
              "hash": null,
              "market_scope": [],
              "market_statuses": [],
              "market_flows": [],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "available",
              "trade_date": "2026-09-02",
              "analyzed_count": 49,
              "scores": [
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 70,
                  "close": 110500,
                  "change_pct": -0.54,
                  "rsi": 59.5,
                  "macd_hist": 529.403,
                  "bb_pband": 0.87,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -3,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 65,
                  "close": 347500,
                  "change_pct": -5.31,
                  "rsi": 47.6,
                  "macd_hist": 402.55,
                  "bb_pband": 0.25,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -34.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 538000,
                  "change_pct": -5.45,
                  "rsi": 57.7,
                  "macd_hist": 6949.779,
                  "bb_pband": 0.7,
                  "vol_ratio": 1,
                  "pct_52w_high": -25.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "105560",
                  "name": "KB금융",
                  "score": 65,
                  "close": 169100,
                  "change_pct": -1.23,
                  "rsi": 50.9,
                  "macd_hist": 509.331,
                  "bb_pband": 0.55,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -13.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 176000,
                  "change_pct": -8,
                  "rsi": 54.1,
                  "macd_hist": 2885.663,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -41.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000810",
                  "name": "삼성화재",
                  "score": 65,
                  "close": 657000,
                  "change_pct": -2.95,
                  "rsi": 52.3,
                  "macd_hist": 3532.965,
                  "bb_pband": 0.62,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -13.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "066570",
                  "name": "LG전자",
                  "score": 65,
                  "close": 200500,
                  "change_pct": -2.91,
                  "rsi": 52.5,
                  "macd_hist": 715.575,
                  "bb_pband": 0.55,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -54.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "086790",
                  "name": "하나금융지주",
                  "score": 65,
                  "close": 134900,
                  "change_pct": -1.82,
                  "rsi": 57,
                  "macd_hist": 603.825,
                  "bb_pband": 0.75,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -5.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "377300",
                  "name": "카카오페이",
                  "score": 65,
                  "close": 44750,
                  "change_pct": -2.51,
                  "rsi": 51.6,
                  "macd_hist": 84.405,
                  "bb_pband": 0.55,
                  "vol_ratio": 0.5,
                  "pct_52w_high": -43.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "090430",
                  "name": "아모레퍼시픽",
                  "score": 65,
                  "close": 142300,
                  "change_pct": -2.73,
                  "rsi": 57.5,
                  "macd_hist": 108.701,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -15.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 112600,
                  "change_pct": -6.71,
                  "rsi": 48.5,
                  "macd_hist": 453.415,
                  "bb_pband": 0.39,
                  "vol_ratio": 1,
                  "pct_52w_high": -43.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003550",
                  "name": "LG",
                  "score": 60,
                  "close": 118500,
                  "change_pct": -1.5,
                  "rsi": 61.7,
                  "macd_hist": 655.964,
                  "bb_pband": 0.83,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -36.3,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 60,
                  "close": 34500,
                  "change_pct": -0.14,
                  "rsi": 61.5,
                  "macd_hist": 102.199,
                  "bb_pband": 0.84,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -16.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "017670",
                  "name": "SK텔레콤",
                  "score": 60,
                  "close": 91400,
                  "change_pct": -3.38,
                  "rsi": 45.9,
                  "macd_hist": -578.55,
                  "bb_pband": 0.34,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -34.5,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 60,
                  "close": 150900,
                  "change_pct": -0.53,
                  "rsi": 60.8,
                  "macd_hist": 388.929,
                  "bb_pband": 0.77,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -14.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 58,
                  "close": 415500,
                  "change_pct": -6.31,
                  "rsi": 31.5,
                  "macd_hist": -7994.461,
                  "bb_pband": -0.09,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -49.5,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(32)",
                    "BB하단(-0.09)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "score": 55,
                  "close": 250500,
                  "change_pct": -4.02,
                  "rsi": 46.8,
                  "macd_hist": 678.336,
                  "bb_pband": 0.41,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -33.1,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "score": 55,
                  "close": 1613000,
                  "change_pct": -4.73,
                  "rsi": 46.2,
                  "macd_hist": 23131.763,
                  "bb_pband": 0.51,
                  "vol_ratio": 0.6,
                  "pct_52w_high": -46,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "051910",
                  "name": "LG화학",
                  "score": 55,
                  "close": 269000,
                  "change_pct": -4.61,
                  "rsi": 49.2,
                  "macd_hist": 1580.005,
                  "bb_pband": 0.45,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -38.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "028260",
                  "name": "삼성물산",
                  "score": 55,
                  "close": 373000,
                  "change_pct": -4.48,
                  "rsi": 51.3,
                  "macd_hist": 3270.611,
                  "bb_pband": 0.62,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -34,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                }
              ],
              "gainers": [
                {
                  "ticker": "138040",
                  "name": "메리츠금융지주",
                  "score": 55,
                  "close": 129800,
                  "change_pct": 3.51,
                  "rsi": 67.4,
                  "macd_hist": 853.491,
                  "bb_pband": 1.06,
                  "vol_ratio": 2.3,
                  "pct_52w_high": -13.4,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(1.06)",
                    "거래량x2.3",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "003490",
                  "name": "대한항공",
                  "score": 50,
                  "close": 28900,
                  "change_pct": 0.52,
                  "rsi": 64.4,
                  "macd_hist": 335.817,
                  "bb_pband": 0.91,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -7.4,
                  "alignment": "정배열",
                  "reasons": [
                    "BB상단(0.91)",
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "316140",
                  "name": "우리금융지주",
                  "score": 60,
                  "close": 34500,
                  "change_pct": -0.14,
                  "rsi": 61.5,
                  "macd_hist": 102.199,
                  "bb_pband": 0.84,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -16.9,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "323410",
                  "name": "카카오뱅크",
                  "score": 55,
                  "close": 21900,
                  "change_pct": -0.23,
                  "rsi": 51.3,
                  "macd_hist": 46.223,
                  "bb_pband": 0.61,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -25.8,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "024110",
                  "name": "기업은행",
                  "score": 45,
                  "close": 20850,
                  "change_pct": -0.24,
                  "rsi": 56,
                  "macd_hist": 100.812,
                  "bb_pband": 0.91,
                  "vol_ratio": 1,
                  "pct_52w_high": -29.4,
                  "alignment": "혼조",
                  "reasons": [
                    "BB상단(0.91)"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "033780",
                  "name": "KT&G",
                  "score": 40,
                  "close": 174400,
                  "change_pct": -0.29,
                  "rsi": 46.2,
                  "macd_hist": -42.167,
                  "bb_pband": 0.35,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -9.4,
                  "alignment": "역배열",
                  "reasons": [
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "030200",
                  "name": "KT",
                  "score": 55,
                  "close": 53800,
                  "change_pct": -0.37,
                  "rsi": 53,
                  "macd_hist": 158.462,
                  "bb_pband": 0.74,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -22.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "010950",
                  "name": "S-Oil",
                  "score": 60,
                  "close": 150900,
                  "change_pct": -0.53,
                  "rsi": 60.8,
                  "macd_hist": 388.929,
                  "bb_pband": 0.77,
                  "vol_ratio": 1.3,
                  "pct_52w_high": -14.8,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "055550",
                  "name": "신한지주",
                  "score": 70,
                  "close": 110500,
                  "change_pct": -0.54,
                  "rsi": 59.5,
                  "macd_hist": 529.403,
                  "bb_pband": 0.87,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -3,
                  "alignment": "정배열",
                  "reasons": [
                    "52w高근접",
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "196170",
                  "name": "알테오젠",
                  "score": 55,
                  "close": 298500,
                  "change_pct": -0.83,
                  "rsi": 51.1,
                  "macd_hist": -3789.332,
                  "bb_pband": 0.28,
                  "vol_ratio": 3.4,
                  "pct_52w_high": -31.8,
                  "alignment": "혼조",
                  "reasons": [
                    "거래량x3.4"
                  ],
                  "is_watchlist": true
                }
              ],
              "losers": [
                {
                  "ticker": "003670",
                  "name": "포스코퓨처엠",
                  "score": 65,
                  "close": 176000,
                  "change_pct": -8,
                  "rsi": 54.1,
                  "macd_hist": 2885.663,
                  "bb_pband": 0.65,
                  "vol_ratio": 0.9,
                  "pct_52w_high": -41.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "247540",
                  "name": "에코프로비엠",
                  "score": 55,
                  "close": 106300,
                  "change_pct": -7.06,
                  "rsi": 45.1,
                  "macd_hist": 1068.099,
                  "bb_pband": 0.3,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -58.5,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": true
                },
                {
                  "ticker": "034730",
                  "name": "SK",
                  "score": 55,
                  "close": 545000,
                  "change_pct": -7,
                  "rsi": 46.9,
                  "macd_hist": 3244.97,
                  "bb_pband": 0.43,
                  "vol_ratio": 0.8,
                  "pct_52w_high": -38.3,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "000720",
                  "name": "현대건설",
                  "score": 65,
                  "close": 112600,
                  "change_pct": -6.71,
                  "rsi": 48.5,
                  "macd_hist": 453.415,
                  "bb_pband": 0.39,
                  "vol_ratio": 1,
                  "pct_52w_high": -43.2,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "012330",
                  "name": "현대모비스",
                  "score": 58,
                  "close": 415500,
                  "change_pct": -6.31,
                  "rsi": 31.5,
                  "macd_hist": -7994.461,
                  "bb_pband": -0.09,
                  "vol_ratio": 1.5,
                  "pct_52w_high": -49.5,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(32)",
                    "BB하단(-0.09)",
                    "역배열"
                  ],
                  "is_watchlist": false
                },
                {
                  "ticker": "034020",
                  "name": "두산에너빌리티",
                  "score": 55,
                  "close": 76600,
                  "change_pct": -5.9,
                  "rsi": 47,
                  "macd_hist": 343.65,
                  "bb_pband": 0.32,
                  "vol_ratio": 0.7,
                  "pct_52w_high": -45,
                  "alignment": "혼조",
                  "reasons": [],
                  "is_watchlist": false
                },
                {
                  "ticker": "005380",
                  "name": "현대차",
                  "score": 46,
                  "close": 378000,
                  "change_pct": -5.62,
                  "rsi": 37.2,
                  "macd_hist": -333.262,
                  "bb_pband": -0.02,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -51.7,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(37)",
                    "MACD데드",
                    "BB하단(-0.02)",
                    "역배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "006400",
                  "name": "삼성SDI",
                  "score": 65,
                  "close": 538000,
                  "change_pct": -5.45,
                  "rsi": 57.7,
                  "macd_hist": 6949.779,
                  "bb_pband": 0.7,
                  "vol_ratio": 1,
                  "pct_52w_high": -25.6,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "373220",
                  "name": "LG에너지솔루션",
                  "score": 65,
                  "close": 347500,
                  "change_pct": -5.31,
                  "rsi": 47.6,
                  "macd_hist": 402.55,
                  "bb_pband": 0.25,
                  "vol_ratio": 1.4,
                  "pct_52w_high": -34.1,
                  "alignment": "정배열",
                  "reasons": [
                    "정배열"
                  ],
                  "is_watchlist": true
                },
                {
                  "ticker": "000270",
                  "name": "기아",
                  "score": 46,
                  "close": 124400,
                  "change_pct": -5.18,
                  "rsi": 39.4,
                  "macd_hist": -226.921,
                  "bb_pband": -0.04,
                  "vol_ratio": 1.2,
                  "pct_52w_high": -41.5,
                  "alignment": "역배열",
                  "reasons": [
                    "RSI저점(39)",
                    "MACD데드",
                    "BB하단(-0.04)",
                    "역배열"
                  ],
                  "is_watchlist": true
                }
              ],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7666.6,
              "change_pct": 0.46,
              "date": "2026-09-02"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26217.83,
              "change_pct": 0.45,
              "date": "2026-09-02"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 53061.95,
              "change_pct": 0.56,
              "date": "2026-09-02"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11339.25,
              "change_pct": 0.45,
              "date": "2026-09-02"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 224.41,
              "change_pct": 3.21,
              "date": "2026-09-02"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 457.06,
              "change_pct": -0.55,
              "date": "2026-09-02"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 956.08,
              "change_pct": 2.43,
              "date": "2026-09-02"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 169.96,
              "change_pct": 2.01,
              "date": "2026-09-02"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 90.05,
              "change_pct": 1.21,
              "date": "2026-09-02"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 15.2,
              "change_pct": -6.98,
              "date": "2026-09-02"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 21.07,
              "change_pct": -4.05,
              "date": "2026-09-02"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.8,
              "change_pct": 0,
              "date": "2026-09-02"
            },
            {
              "symbol": "KRW=X",
              "name": "달러/원",
              "category": "fx",
              "close": 1358.9,
              "change_pct": -1.02,
              "date": "2026-09-03"
            },
            {
              "symbol": "JPY=X",
              "name": "USD/JPY",
              "category": "fx",
              "close": 158.84,
              "change_pct": -0.85,
              "date": "2026-09-03"
            },
            {
              "symbol": "DX-Y.NYB",
              "name": "DXY",
              "category": "fx",
              "close": 99.58,
              "change_pct": -0.09,
              "date": "2026-09-02"
            },
            {
              "symbol": "BZ=F",
              "name": "브렌트유",
              "category": "commodity",
              "close": 95.3,
              "change_pct": 0.69,
              "date": "2026-09-02"
            },
            {
              "symbol": "CL=F",
              "name": "WTI 원유",
              "category": "commodity",
              "close": 90.7,
              "change_pct": 0.53,
              "date": "2026-09-02"
            },
            {
              "symbol": "GC=F",
              "name": "금 선물",
              "category": "commodity",
              "close": 4427.8,
              "change_pct": 1.84,
              "date": "2026-09-02"
            },
            {
              "symbol": "^N225",
              "name": "니케이225",
              "category": "asia",
              "close": 66215.34,
              "change_pct": -0.15,
              "date": "2026-09-01"
            },
            {
              "symbol": "^HSI",
              "name": "항셍",
              "category": "asia",
              "close": 25329.73,
              "change_pct": -0.93,
              "date": "2026-09-01"
            },
            {
              "symbol": "^STOXX50E",
              "name": "유로 STOXX 50",
              "category": "europe",
              "close": 6368.98,
              "change_pct": -0.8,
              "date": "2026-09-01"
            },
            {
              "symbol": "^GDAXI",
              "name": "DAX",
              "category": "europe",
              "close": 25970.11,
              "change_pct": -1.1,
              "date": "2026-09-01"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 709.24,
              "change_pct": 0.23,
              "date": "2026-09-02"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 550.48,
              "change_pct": 0.96,
              "date": "2026-09-02"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 61.43,
              "change_pct": 0.52,
              "date": "2026-09-02"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 126.25,
              "change_pct": 1.29,
              "date": "2026-09-02"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 81.41,
              "change_pct": 1.84,
              "date": "2026-09-02"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.6,
              "change_pct": -0.51,
              "date": "2026-09-02"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.65,
              "change_pct": -0.1,
              "date": "2026-09-02"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 37.07,
              "change_pct": -1.83,
              "date": "2026-09-02"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 284.057,
                "latest_date": "2026-07-01",
                "yoy_pct": 8.27,
                "mom_pct": -0.78
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-07-01",
                "yoy_pct": 0,
                "mom_pct": -2.38
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 8
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 13
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 37
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 43
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 63
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 71
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 85
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 99
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 104
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 28,
                "label": "긍정",
                "summary": "호재: 상승, 매수, 순매수",
                "articles": [
                  "HPSP 주가, 웃음꽃... 증권가 전망은? - 금강일보"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 21,
                "label": "긍정",
                "summary": "호재: 주주환원, 자사주 매입, 상승",
                "articles": [
                  "셀트리온, 1천억 규모 자사주 또 매입… 주가 변동 주목 - 중부일보",
                  "셀트리온 “매년 순이익 3분의 1 주주환원”…자사주 1000억원 매입 - 전자신문"
                ]
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 9,
                "label": "중립",
                "summary": "호재: 호실적, 기대, 매수 | 악재: 하락, 악재",
                "articles": [
                  "신한증권, 하나금융지주 목표주가↑…\"3분기 호실적 기대\" - 연합뉴스"
                ]
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 6,
                "label": "중립",
                "summary": "호재: 매수, 반등 | 악재: 약세, 매도",
                "articles": [
                  "[연금] SK하이닉스로 살펴보는 반도체ETF... 11일 연속 65만주, 총 715만주 매수 - 네이버 프리미엄콘텐츠",
                  "LS증권 \"삼성전자 목표주가 상향·SK하이닉스 하향, HBM 경쟁구도 정상화\" - businesspost.co.kr"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 6,
                "label": "중립",
                "summary": "호재: 상승, 수혜, 반등 | 악재: 하락, 악재",
                "articles": [
                  "[리포트 브리핑]LG에너지솔루션, '미국 BESS 현지화의 최대 수혜' 목표가 574,000원 - 유안타증권 - 뉴스핌",
                  "반등 노리는 배터리 3사…주가 상승 여력 비교해 보니 - 한국경제"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 6,
                "label": "중립",
                "summary": "호재: 신고가, 기대, 매수 | 악재: 하락",
                "articles": [
                  "전고점향해 달리는 삼성SDI … ESS, 데이터센터서 금맥캔다 - 한국경제",
                  "한 달 새 40% 넘게 오른 삼성SDI…실적이 주가 입증할까 - 매일일보"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 6,
                "label": "중립",
                "summary": "호재: 상승, 매수, 회복 | 악재: 물량, 하락",
                "articles": [
                  "[오너 자본방정식]삼성물산, 3조 자사주 소각 종착지 '이재용 지분율' - 블로터",
                  "KCC, 본업 회복에 삼성물산 배당 효과…증권가 매수 유지[애널리스트의 시각] - v.daum.net"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 6,
                "label": "중립",
                "summary": "호재: 상승, 호재, 기대 | 악재: 조정, 위기, 리스크",
                "articles": [
                  "방어주 부각...하나금융·신한금융·KB금융 '장중 상승' - 초이스경제",
                  "KB금융 회장 '운명의 날' 임박···양종희 연임론에 힘 싣는 3가지 - 스마트비즈"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "000270",
                "name": "기아",
                "score": -28,
                "label": "부정",
                "summary": "악재: 급락, 부진, 하락",
                "articles": [
                  "현대차 6%, 기아 5.6% 현대모비스 6%...현대차그룹주, 현대차 8월 글로벌 판매 부진에 일제히 급락 - 비욘드포스트",
                  "\"車 불티나게 팔리는데\"…기아 주가만 빠진 뜻밖의 이유 [분석+] - 한국경제"
                ]
              },
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -21,
                "label": "부정",
                "summary": "호재: 성장 | 악재: 하락, 블록딜, 우려",
                "articles": [
                  "40일째 분규...리노공업 노사 '평행선' - knn.co.kr",
                  "[단독] 리노공업, 8600억 규모 블록딜 철회 검토…주가하락·파업 내우외환 - 녹색경제신문"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -15,
                "label": "부정",
                "summary": "호재: 성장, 기대 | 악재: 유상증자, 희석, 하락",
                "articles": [
                  "[주식] 3조 유상증자한 삼성바이오로직스, 주가는 7% 빠졌다 - hitnews.co.kr",
                  "3조 투자에도 싸늘한 삼성바이오 주가, '성장 방정식' 의문 커지나 - 아이뉴스24"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -6,
                "label": "중립",
                "summary": "악재: 하락",
                "articles": [
                  "[마켓파워] 주가 70%↓·임직원 30% 이탈…시험대 오른 신원근의 ‘책임경영’ - 아시아투데이",
                  "카카오, 둘로 나누면 몸값 오를까…증권가 평가는 - 비즈워치"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": -6,
                "label": "중립",
                "summary": "호재: 급등, 기대감, 기대 | 악재: 하락, 급락, 악재",
                "articles": [
                  "포스코퓨처엠 주가 3%대 하락…전날 7% 급등 후 숨고르기 - 잡포스트"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -6,
                "label": "중립",
                "summary": "악재: 하락, 부진",
                "articles": [
                  "에코프로비엠 유증 일정 확정…규모는 3천억가량 감소 - 연합인포맥스",
                  "에코프로비엠, 주가 하락에 유증 규모 3000억원 축소 - 뉴스핌"
                ]
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "score": -3,
                "label": "중립",
                "summary": "호재: 주주환원, 반등 | 악재: 하락, 폭락",
                "articles": [
                  "삼성전자, 최대 주주환원 발표 이후 주가 '출렁'...정규장 전망은? - YTN",
                  "역대급 110조원 주주환원에도…삼성전자 주가는 왜 하락했나 - 주간조선"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": -3,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 하락",
                "articles": [
                  "한화에어로 주가가 순이익 좌지우지…널뛰는 수익성 : 네이버 블로그 - blog.naver.com",
                  "재무정보 - NAVERCorp."
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "051910",
                "name": "LG화학",
                "score": 0,
                "label": "중립",
                "summary": "호재: 돌파, 회복 | 악재: 하락, 적자",
                "articles": [
                  "LG화학 주가 장중 6%대 올라, 한국정부 중국 아크릴산 부틸에 덤핑관세 부과 - businesspost.co.kr",
                  "\"엔솔 분할 뒤 주가 3분의 1토막\"…LG화학 해외주주 달래기 - v.daum.net"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": 0,
                "label": "중립",
                "summary": "호재: 수주, 긍정적 | 악재: 목표가 하향, 하락",
                "articles": [
                  "현대차, 이익목표 9% 상향에도…‘아틀라스’ 빠지자 주가도 빠졌다 - 중앙일보",
                  "[코스피 현미경 분석] 한온시스템, 하반기 현대차 등 수주가 관건…주가 향방은? - 데일리인베스트"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0082,
            "tree_metrics": {
              "avg_auc": 0.776,
              "avg_accuracy": 0.708
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7719,
              "accuracy": 0.7084
            },
            "relative_strength": [
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10330,
                "relative_rank_pct": 80,
                "return_5d_pct": -11.41,
                "return_20d_pct": -16.76,
                "rsi": 16.4,
                "position_52w_pct": 5.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "329180",
                "name": "HD현대중공업",
                "price": 422000,
                "relative_rank_pct": 68,
                "return_5d_pct": -9.15,
                "return_20d_pct": -12.63,
                "rsi": 24.7,
                "position_52w_pct": 3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "402340",
                "name": "SK스퀘어",
                "price": 982000,
                "relative_rank_pct": 64.6,
                "return_5d_pct": -7.18,
                "return_20d_pct": -7.36,
                "rsi": 46.7,
                "position_52w_pct": 41.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "096770",
                "name": "SK이노베이션",
                "price": 131500,
                "relative_rank_pct": 62.9,
                "return_5d_pct": 18.26,
                "return_20d_pct": 18.15,
                "rsi": 56.6,
                "position_52w_pct": 64.7,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012330",
                "name": "현대모비스",
                "price": 415500,
                "relative_rank_pct": 62,
                "return_5d_pct": -10.45,
                "return_20d_pct": -13.71,
                "rsi": 28.3,
                "position_52w_pct": 24.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000150",
                "name": "두산",
                "price": 1121000,
                "relative_rank_pct": 60.3,
                "return_5d_pct": -5,
                "return_20d_pct": -12.01,
                "rsi": 37.8,
                "position_52w_pct": 31,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "009150",
                "name": "삼성전기",
                "price": 1400000,
                "relative_rank_pct": 58.6,
                "return_5d_pct": 5.26,
                "return_20d_pct": 18.14,
                "rsi": 54.4,
                "position_52w_pct": 55.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "price": 538000,
                "relative_rank_pct": 58.6,
                "return_5d_pct": 4.26,
                "return_20d_pct": 28.25,
                "rsi": 61.1,
                "position_52w_pct": 64.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "034020",
                "name": "두산에너빌리티",
                "price": 76600,
                "relative_rank_pct": 57.7,
                "return_5d_pct": -10.72,
                "return_20d_pct": 4.93,
                "rsi": 45.2,
                "position_52w_pct": 23.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "price": 1613000,
                "relative_rank_pct": 56,
                "return_5d_pct": -4.44,
                "return_20d_pct": 2.28,
                "rsi": 56.3,
                "position_52w_pct": 49.9,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "003475",
                "name": "유안타증권우",
                "price": 4285,
                "relative_rank_pct": 20,
                "return_5d_pct": -0.46,
                "return_20d_pct": 3.5,
                "rsi": 45.3,
                "position_52w_pct": 33.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1276,
                "relative_rank_pct": 24.3,
                "return_5d_pct": -6.04,
                "return_20d_pct": 3.74,
                "rsi": 50.5,
                "position_52w_pct": 12.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8530,
                "relative_rank_pct": 25.1,
                "return_5d_pct": -4.26,
                "return_20d_pct": 6.89,
                "rsi": 36.8,
                "position_52w_pct": 10.6,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "042700",
                "name": "한미반도체",
                "price": 213500,
                "relative_rank_pct": 27.7,
                "return_5d_pct": -2.73,
                "return_20d_pct": 5.17,
                "rsi": 46.9,
                "position_52w_pct": 38.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1501000,
                "relative_rank_pct": 29.4,
                "return_5d_pct": -6.13,
                "return_20d_pct": 1.69,
                "rsi": 42.7,
                "position_52w_pct": 36,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "293580",
                "name": "나우IB",
                "price": 1462,
                "relative_rank_pct": 31.1,
                "return_5d_pct": -1.88,
                "return_20d_pct": 2.74,
                "rsi": 38.8,
                "position_52w_pct": 16.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "price": 169100,
                "relative_rank_pct": 32,
                "return_5d_pct": 1.5,
                "return_20d_pct": 0.18,
                "rsi": 55,
                "position_52w_pct": 71.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "011200",
                "name": "HMM",
                "price": 20800,
                "relative_rank_pct": 32,
                "return_5d_pct": -2.58,
                "return_20d_pct": -1.89,
                "rsi": 46.5,
                "position_52w_pct": 41.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "033780",
                "name": "KT&G",
                "price": 174400,
                "relative_rank_pct": 32,
                "return_5d_pct": -0.17,
                "return_20d_pct": -0.68,
                "rsi": 43.4,
                "position_52w_pct": 71.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "price": 298500,
                "relative_rank_pct": 32.9,
                "return_5d_pct": -4.17,
                "return_20d_pct": 11.8,
                "rsi": 42.8,
                "position_52w_pct": 42.7,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "available"
            }
          ],
          "data_gaps": [
            "외국인·기관 수급 원자료 (미확보)"
          ]
        },
        "evening_analysis": {
          "actual_driver_analysis": "국내 시장은 전일 KOSPI 6,562.72의 3.99% 급락과 20일선 6,672.16 하회라는 약한 출발점에서 시작했지만, 당일 KOSPI는 6,579.48로 반등했고 KOSDAQ은 790.21로 마감했습니다. Morning에 보존된 국내 기술 맥락에서는 삼성전자 -4.02%, SK하이닉스 -4.73%, 현대차 -5.62%, 기아 -5.18% 등 주요 종목의 전일 약세와 자동차·배터리·인터넷 일부 종목의 역배열 및 저점 신호가 하방 위험을 지지했습니다. 반면 overnight 자료에서는 S&P500 +0.46%, Nasdaq +0.45%, Dow +0.56%, SOX +0.45%, NVDA +3.21%, MU +2.43%, SMH +0.96%, VIX -6.98%로 위험선호와 반도체 리더 반등이 확인됐고, 이 상쇄 요인이 국내 지수의 실제 반등에 기여했을 가능성이 큽니다. 당일 시가·고가·저가·거래대금·상승하락 종목 수와 장중 리더 행동은 별도 수치로 보존되지 않아 장중 breadth의 방향은 확인할 수 없습니다.",
          "data_synthesis": {
            "cross_asset": "reviewed",
            "domestic": "reviewed",
            "macro": "reviewed",
            "ml_relative": "reviewed",
            "sentiment_news": "reviewed"
          },
          "failure_analysis": "Yura LLM의 KOSPI 절대 방향 예측은 실제 상승과 불일치했습니다. 관찰 가능한 원인은 국내 추세·전일 급락·수급 부재를 해외 위험선호 회복보다 강하게 가중한 점과, 전일 급락 뒤 반발 매수 및 해외 반등의 국내 전이 가능성을 충분히 반영하지 못한 점입니다. 다만 당일 breadth, 장중 고저·거래대금, 외국인·기관 실수급은 보존된 입력에서 확인되지 않으므로 단일 원인으로 확정하지 않습니다. ML 50건은 5개 관측 세션이 아직 없어 평가 실패가 아니며, 개선 제안은 생성하지 않습니다.",
          "improvement": "none",
          "rationale_vs_actual": "Morning의 하락 판단을 지지한 요인은 전일 국내 지수의 급락, 20일선 하회, KOSPI 모멘텀·이격도 약세, 일부 대형주의 역배열, 그리고 ML 시장 편향 약세였습니다. 실제와 반대 결과를 만든 요인은 overnight 해외 지수와 반도체주의 동반 반등, VIX 하락, 원/달러 -1.02%로 나타난 달러 약세였습니다. Morning 판단에도 해외 반등이 하락 압력을 완화할 수 있다고 적시했지만, 국내 절대 방향을 뒤집을 정도의 상쇄 가능성을 충분히 높게 반영하지 못했습니다. 공포·탐욕 점수 57은 중립이고 최근 10일 중 7일 상승이라는 회복 신호가 있었으나, 변동성 3.01%와 20일선 대비 -1.64% 약세가 함께 있어 신호가 혼재했습니다. ML은 KOSPI 방향이 아니라 5일 후 KOSPI 대비 종목 상대 초과수익을 예측하며, 50개 예측의 평가가 아직 성숙하지 않았으므로 이번 KOSPI 상승과 ML 약세를 직접적인 실패로 해석하지 않습니다.",
          "summary": "Morning은 전일 국내 급락과 국내 추세 약세, ML의 약세 편향을 근거로 하락을 전망했으나, 2026-09-03 KOSPI는 6,579.48로 0.25538191% 상승하고 KOSDAQ은 790.21로 마감했습니다. 따라서 KOSPI 절대 방향에 대한 Morning 판단은 실제와 불일치했습니다. 다만 해외 위험선호 회복과 반도체 중심의 반등 가능성을 상쇄 요인으로 명시했다는 점은 실제 반등과 일부 부합합니다."
        },
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6579.48,
          "kosdaq_close": 790.21,
          "direction": "상승",
          "return_pct": 0.25538191,
          "observed_at": "2026-09-03T16:48:38.730648+09:00",
          "llm_success": false
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": false,
          "failure": true
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 100,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "applied",
          "proposal_id": "proposal-8c6f8e12974860f6",
          "actual_applied": true,
          "observation_state": "pending"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-03/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-03/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-03-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-b31efaba14c81c01"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-03-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-03-morning-01"
          }
        ]
      },
      {
        "run_id": "live-shadow-day1-2026-09-02-morning-01",
        "project_id": "stockpulse-v1-fixed",
        "experiment_id": "stockpulse-v1-fixed",
        "source_experiment_id": "stockpulse-v1-fixed-phase8b",
        "run_mode": "live_shadow",
        "stage": "morning",
        "overall_status": "complete",
        "lane": "v1_fixed_fresh",
        "trading_date": "2026-09-02",
        "run_status": "success",
        "quality_status": "degraded",
        "input_snapshot_id": "input-snapshot-a9a076f48c68927b",
        "input_snapshot_readback_verified": true,
        "requested_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "actual_model_set": [
          "LightGBM",
          "XGBoost",
          "LSTM"
        ],
        "skipped_models": [],
        "morning_llm_prediction": {
          "llm_prediction_id": "llm-prediction-2026-09-02",
          "generation_status": "generated",
          "evaluation_status": "evaluated",
          "success": true,
          "failure": false,
          "market": "KOSPI",
          "direction": "하락",
          "confidence": 0.62,
          "confidence_label": "중간",
          "confidence_type": "subjective_assessment_not_calibrated_probability",
          "runtime_improvement": {
            "status": "not_evidenced",
            "source": "morning_artifact",
            "readback_verified": false,
            "sha256": null,
            "used": false,
            "used_fields": [],
            "application_note": null
          },
          "snapshot_cutoff": "2026-09-02T10:15:28.500799+09:00",
          "generated_at": "2026-09-02T11:08:06.426080+09:00",
          "summary": "2026-09-02 KOSPI는 해외 위험회피와 반도체 약세 연동으로 하락 마감 가능성을 기본 시나리오로 판단합니다. 다만 국내 지수의 최근 상승 흐름과 탐욕 구간 심리가 있어 일방적 급락으로 단정하지 않고 중간 confidence를 부여했습니다.",
          "market_summary": "동결된 snapshot의 직전 KOSPI는 6,835.80으로 전일 대비 +0.23%, KOSDAQ은 821.25이며 20일 이격도는 -0.93%입니다. KOSPI는 20일선 6,661.97 대비 +2.61%로 최근 추세가 아직 높지만, 이날 장중·장마감 실측값은 이 Morning 판단의 입력으로 사용하지 않습니다.",
          "overseas_market_and_overnight": "2026-09-01 해외 snapshot은 S&P500 -0.71%, Nasdaq -1.03%, Dow -0.79%, SOX -2.14%였습니다. NVDA -1.51%, AMD -2.36%, MU -2.64%, QQQ -1.27%, SMH -2.05%로 성장주·반도체가 함께 약했고, VIX는 16.34로 +9.52%, VXN은 21.96으로 +8.82%였습니다. 10년물 금리는 4.8로 +0.8%였습니다. 이 조합을 국내 대형주와 반도체에 불리한 overnight risk-off 신호로 해석했습니다.",
          "macro": "Macro snapshot의 최신 관측일은 모두 2026-07-01입니다. CPI는 전년비 +3.54%, 전월비 +0.07%, PPI는 전년비 +8.27%, 전월비 -0.78%, 실업률은 4.1%입니다. Calendar에는 US CPI 2026-09-11, FOMC 2026-09-16, 한은 금통위 2026-10-16이 기록돼 있습니다. 오늘 실시간 환율·유가·추가 macro 수치는 snapshot에 없으므로 방향 근거로 보강하지 않았습니다.",
          "sentiment_and_supply": "Fear/greed는 67/100 탐욕이고, snapshot KOSPI는 +0.23%, 최근 10일 중 7일 상승으로 기록돼 있습니다. 변동성 component는 100, 거래량 5일/20일 비율은 0.94x, 52주 고점 근접 종목은 1개입니다. sentiment snapshot은 19개 종목 중 긍정 4·중립 11·부정 4이고, 신한지주 +28·셀트리온 +25가 강했으며 리노공업 -25·삼성바이오로직스 -21·NAVER -18이 약했습니다. 관심종목 투자자별 수급은 전체적으로 supply_available=false라 실제 외국인·기관·개인 순매수 방향은 판단하지 않았습니다.",
          "ml_summary": "ML snapshot은 LightGBM·XGBoost·LSTM 50개 예측이며 market_bias는 50개 모두 약세입니다. Tree AUC 0.7663/accuracy 0.7022, LSTM AUC 0.7698/accuracy 0.7035가 기록돼 있습니다. 상위 상대강도에는 티엠씨·HD한국조선해양·삼성물산·현대모비스·신한지주가 있고, 하위에는 삼성전자·NAVER·한미반도체가 있습니다. 이 ML target은 5일 후 KOSPI 대비 초과수익인 상대성과라서 KOSPI 절대 방향 예측과 동일시하지 않고 보조 근거로만 사용했습니다.",
          "forecast": "오늘 KOSPI 정규장 종가 방향은 하락으로 판단합니다. 숫자형 KOSPI 예상 범위는 frozen snapshot에 제공되지 않아 만들지 않았습니다. 해외 지수·반도체 동반 약세와 변동성 상승이 하방 우세를 만들지만, KOSPI의 최근 상승·탐욕 심리와 일부 금융·방어 상대강도가 하락폭을 완화하거나 장중 반등을 만들 수 있어 confidence는 0.62로 제한했습니다.",
          "rationale": [
            "S&P500·Nasdaq·Dow가 모두 하락했고 SOX와 주요 반도체 종목 하락폭이 더 커 국내 대형주·반도체의 개장 및 추세 부담으로 연결될 가능성이 높습니다.",
            "VIX/VXN 상승과 10년물 금리 상승이 위험선호 약화 신호를 보탭니다.",
            "KOSPI는 20일선 위이고 fear/greed 67, 최근 10일 중 7일 상승이라 추세가 즉시 붕괴한다고 단정할 수 없습니다.",
            "ML 50개가 모두 약세 market_bias를 보이지만 상대성과 target이므로 시장 방향 판단의 독립적인 확정 근거로 사용하지 않았습니다.",
            "투자자별 수급이 snapshot에서 누락돼 하락 확신을 상향할 핵심 확인 항목이 비어 있습니다."
          ],
          "observation_points": [
            "국내 반도체 대형주의 해외 반도체 약세 반영 정도",
            "장중 breadth와 외국인·기관 수급 전환 여부 — 현재 snapshot에는 없음",
            "KOSPI가 snapshot의 6,835.80 기준을 회복하거나 이탈하는 흐름",
            "변동성 확대가 탐욕 심리를 상쇄하는지 여부",
            "snapshot에 없는 환율·유가 및 추가 macro 발표"
          ],
          "uncertainties": [
            "supply/investor-flow 데이터 unavailable",
            "snapshot의 macro 최신 관측치가 2026-07-01로 오늘과 시차가 있음",
            "frozen snapshot에 숫자형 KOSPI 예상 범위가 없어 범위를 제시하지 않음",
            "confidence 0.62는 보정된 확률이 아닌 Yura의 정성 판단을 수치화한 값임",
            "Morning snapshot cutoff 이후 데이터·웹 검색·실시간 시장 확인은 사용하지 않음"
          ],
          "freeze": {
            "evaluation_session": "day1_evening",
            "post_cutoff_edit_allowed": false,
            "frozen_for_comparison": true
          },
          "evaluation_reference": {
            "evaluation_session": "day1_evening",
            "frozen": true,
            "post_cutoff_edit_allowed": false
          },
          "publication_path": "reports/2026-09-02/morning/"
        },
        "human_briefing": {
          "schema_version": 1,
          "source_layer": "immutable_snapshot",
          "source_datasets": [
            {
              "dataset": "overnight",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "macro",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "fear_greed",
              "layer": "immutable_snapshot"
            },
            {
              "dataset": "sentiment",
              "layer": "immutable_snapshot"
            }
          ],
          "domestic": {
            "kospi": {
              "close": 6835.8,
              "change_pct": 0.23,
              "sma20": 6661.97,
              "disparity_20_pct": null,
              "sentiment": null,
              "sentiment_signal": null
            },
            "kosdaq": {
              "close": 821.25,
              "change_pct": null,
              "sma20": null,
              "disparity_20_pct": -0.93,
              "sentiment": null,
              "sentiment_signal": null
            },
            "fear_greed_score": 67,
            "fear_greed_label": "탐욕",
            "fear_greed_advice": "낙관 구간, 분할 매도 고려",
            "components": [
              {
                "key": "momentum",
                "name": "모멘텀",
                "score": 63,
                "value": 2.61,
                "description": "KOSPI 20일선 대비 +2.61%"
              },
              {
                "key": "volatility",
                "name": "변동성",
                "score": 100,
                "value": 2.86,
                "description": "KOSPI 20일 변동성 2.86%"
              },
              {
                "key": "sentiment",
                "name": "투자심리",
                "score": 70,
                "value": 7,
                "description": "최근 10일 중 7일 상승"
              },
              {
                "key": "disparity",
                "name": "이격도",
                "score": 66,
                "value": 2.61,
                "description": "20일 이격도 +2.61%"
              },
              {
                "key": "volume_trend",
                "name": "거래량",
                "score": 30,
                "value": 0.94,
                "description": "거래량 5일/20일 비율 0.94x"
              },
              {
                "key": "high_low",
                "name": "고저비율",
                "score": 51,
                "value": null,
                "description": "52주高 근접 1개, 低 근접 0개 (/50)"
              }
            ],
            "supply": {
              "status": "missing",
              "available": false,
              "source": "KRX/pykrx",
              "reason": "provider_auth_required",
              "as_of": null,
              "collected_at": null,
              "hash": null,
              "market_scope": [],
              "market_statuses": [],
              "market_flows": [],
              "investors": [],
              "watchlist": [
                {
                  "ticker": "005930",
                  "name": "삼성전자",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "000660",
                  "name": "SK하이닉스",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "217590",
                  "name": "티엠씨",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "293580",
                  "name": "나우IB",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "227950",
                  "name": "엔투텍",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "432720",
                  "name": "퀄리타스반도체",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003470",
                  "name": "유안타증권",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                },
                {
                  "ticker": "003475",
                  "name": "유안타증권우",
                  "status": "missing",
                  "foreign_net": null,
                  "institution_net": null,
                  "total_net": null
                }
              ]
            },
            "market_scan": {
              "status": "unavailable",
              "trade_date": null,
              "analyzed_count": 0,
              "scores": [],
              "gainers": [],
              "losers": [],
              "highs_52w": []
            }
          },
          "overnight": [
            {
              "symbol": "^GSPC",
              "name": "S&P 500",
              "category": "index",
              "close": 7631.47,
              "change_pct": -0.71,
              "date": "2026-09-01"
            },
            {
              "symbol": "^IXIC",
              "name": "Nasdaq",
              "category": "index",
              "close": 26099.77,
              "change_pct": -1.03,
              "date": "2026-09-01"
            },
            {
              "symbol": "^DJI",
              "name": "Dow",
              "category": "index",
              "close": 52766.88,
              "change_pct": -0.79,
              "date": "2026-09-01"
            },
            {
              "symbol": "^SOX",
              "name": "SOX",
              "category": "semiconductor",
              "close": 11288.61,
              "change_pct": -2.14,
              "date": "2026-09-01"
            },
            {
              "symbol": "NVDA",
              "name": "NVDA",
              "category": "semiconductor",
              "close": 217.44,
              "change_pct": -1.51,
              "date": "2026-09-01"
            },
            {
              "symbol": "AMD",
              "name": "AMD",
              "category": "semiconductor",
              "close": 459.61,
              "change_pct": -2.36,
              "date": "2026-09-01"
            },
            {
              "symbol": "MU",
              "name": "MU",
              "category": "semiconductor",
              "close": 933.44,
              "change_pct": -2.64,
              "date": "2026-09-01"
            },
            {
              "symbol": "QCOM",
              "name": "퀄컴",
              "category": "semiconductor",
              "close": 166.61,
              "change_pct": -2.27,
              "date": "2026-09-01"
            },
            {
              "symbol": "INTC",
              "name": "인텔",
              "category": "semiconductor",
              "close": 88.97,
              "change_pct": -0.6,
              "date": "2026-09-01"
            },
            {
              "symbol": "^VIX",
              "name": "VIX",
              "category": "volatility",
              "close": 16.34,
              "change_pct": 9.52,
              "date": "2026-09-01"
            },
            {
              "symbol": "^VXN",
              "name": "VXN",
              "category": "volatility",
              "close": 21.96,
              "change_pct": 8.82,
              "date": "2026-09-01"
            },
            {
              "symbol": "^TNX",
              "name": "10Y국채",
              "category": "rate",
              "close": 4.8,
              "change_pct": 0.8,
              "date": "2026-09-01"
            },
            {
              "symbol": "QQQ",
              "name": "QQQ",
              "category": "sector_etf",
              "close": 707.64,
              "change_pct": -1.27,
              "date": "2026-09-01"
            },
            {
              "symbol": "SMH",
              "name": "SMH(반도체ETF)",
              "category": "sector_etf",
              "close": 545.22,
              "change_pct": -2.05,
              "date": "2026-09-01"
            },
            {
              "symbol": "PKX",
              "name": "POSCOADR",
              "category": "adr",
              "close": 61.11,
              "change_pct": -0.39,
              "date": "2026-09-01"
            },
            {
              "symbol": "KB",
              "name": "KB금융ADR",
              "category": "adr",
              "close": 124.64,
              "change_pct": -0.12,
              "date": "2026-09-01"
            },
            {
              "symbol": "SHG",
              "name": "신한지주ADR",
              "category": "adr",
              "close": 79.94,
              "change_pct": 0.97,
              "date": "2026-09-01"
            },
            {
              "symbol": "KEP",
              "name": "한전ADR",
              "category": "adr",
              "close": 11.66,
              "change_pct": 0.52,
              "date": "2026-09-01"
            },
            {
              "symbol": "KT",
              "name": "KTADR",
              "category": "adr",
              "close": 19.67,
              "change_pct": -0.05,
              "date": "2026-09-01"
            },
            {
              "symbol": "SKM",
              "name": "SK텔레콤ADR",
              "category": "adr",
              "close": 37.76,
              "change_pct": -1.64,
              "date": "2026-09-01"
            }
          ],
          "macro": {
            "status": "available",
            "indicators": [
              {
                "id": "CPIAUCSL",
                "name": "CPI(All)",
                "latest_value": 332.813,
                "latest_date": "2026-07-01",
                "yoy_pct": 3.54,
                "mom_pct": 0.07
              },
              {
                "id": "PPIACO",
                "name": "PPI(All)",
                "latest_value": 284.057,
                "latest_date": "2026-07-01",
                "yoy_pct": 8.27,
                "mom_pct": -0.78
              },
              {
                "id": "UNRATE",
                "name": "실업률",
                "latest_value": 4.1,
                "latest_date": "2026-07-01",
                "yoy_pct": 0,
                "mom_pct": -2.38
              }
            ],
            "upcoming_events": [
              {
                "category": "cpi",
                "date": "2026-09-11",
                "name": "US 8월 CPI",
                "days_until": 9
              },
              {
                "category": "fomc",
                "date": "2026-09-16",
                "name": "FOMC",
                "days_until": 14
              },
              {
                "category": "cpi",
                "date": "2026-10-10",
                "name": "US 9월 CPI",
                "days_until": 38
              },
              {
                "category": "korea_rate",
                "date": "2026-10-16",
                "name": "한은 금통위",
                "days_until": 44
              },
              {
                "category": "fomc",
                "date": "2026-11-05",
                "name": "FOMC",
                "days_until": 64
              },
              {
                "category": "cpi",
                "date": "2026-11-13",
                "name": "US 10월 CPI",
                "days_until": 72
              },
              {
                "category": "korea_rate",
                "date": "2026-11-27",
                "name": "한은 금통위",
                "days_until": 86
              },
              {
                "category": "cpi",
                "date": "2026-12-11",
                "name": "US 11월 CPI",
                "days_until": 100
              },
              {
                "category": "fomc",
                "date": "2026-12-16",
                "name": "FOMC",
                "days_until": 105
              }
            ]
          },
          "sentiment": {
            "status": "available",
            "positive": [
              {
                "ticker": "055550",
                "name": "신한지주",
                "score": 28,
                "label": "긍정",
                "summary": "호재: 호실적, 기대, 주주환원",
                "articles": [
                  "신한증권, 하나금융지주 목표주가↑…\"3분기 호실적 기대\" - 연합뉴스",
                  "하나금융지주, 호실적에 높아진 주주환원 기대감…목표가↑ - 파이낸셜뉴스"
                ]
              },
              {
                "ticker": "068270",
                "name": "셀트리온",
                "score": 25,
                "label": "긍정",
                "summary": "호재: 자사주 매입, 주주환원, 상승",
                "articles": [
                  "셀트리온 \"매년 순이익 3분의 1 주주환원\" 1000억원 자사주 매입... 주가는 - 조선일보",
                  "“더 이상 ‘고덱스’ 회사가 아니다…셀트리온제약, 바이오·CMO 50% 돌파” - 뉴스퀘스트"
                ]
              },
              {
                "ticker": "403870",
                "name": "HPSP",
                "score": 25,
                "label": "긍정",
                "summary": "호재: 상승, 회복, 확대",
                "articles": [
                  "HPSP 주가, 웃음꽃... 증권가 전망은? - ggilbo.com",
                  "HPSP, 주가 7%대…최근 변동성 확대 속 4만7000원선 회복 - cbci.co.kr"
                ]
              },
              {
                "ticker": "006400",
                "name": "삼성SDI",
                "score": 18,
                "label": "긍정",
                "summary": "호재: 신고가, 기대, 급등 | 악재: 하락",
                "articles": [
                  "전고점향해 달리는 삼성SDI … ESS, 데이터센터서 금맥캔다 - 한국경제",
                  "삼성SDI, ‘실적 저점 통과 기대’ 52주 신고가…목표가 줄상향 ‘100만원’까지 - 쿠키뉴스"
                ]
              },
              {
                "ticker": "373220",
                "name": "LG에너지솔루션",
                "score": 12,
                "label": "중립",
                "summary": "호재: 수혜, 상승, 반등",
                "articles": [
                  "[리포트 브리핑]LG에너지솔루션, '미국 BESS 현지화의 최대 수혜' 목표가 574,000원 - 유안타증권 - 뉴스핌",
                  "IT도 바이오도 아니다…8월간 기관이 6047억 투자한 뜻밖의 '1위' 어디? - 위키트리"
                ]
              },
              {
                "ticker": "105560",
                "name": "KB금융",
                "score": 12,
                "label": "중립",
                "summary": "호재: 상승, 호재, 기대",
                "articles": [
                  "\"우리·KB금융, 금리·환율 호재..9월 주가 상승 기대\" - 포쓰저널",
                  "주가 반토막에 KB뱅크 콜옵션 포기…국민은행이 택한 '시간 벌기' - 딜사이트"
                ]
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "score": 12,
                "label": "중립",
                "summary": "호재: 확대, 상승, 호재 | 악재: 하락",
                "articles": [
                  "알테오젠(196170) - 매일경제 마켓",
                  "알테오젠 주가 30만원선 아래로 - cbci.co.kr"
                ]
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "score": 9,
                "label": "중립",
                "summary": "호재: 회복, 상승, 계약 | 악재: 물량",
                "articles": [
                  "실리콘 업황 회복·삼성물산 특별배당…KCC 주가도 ‘기지개’ - 한국경제",
                  "[오너 자본방정식]삼성물산, 3조 자사주 소각 종착지 '이재용 지분율' - 블로터"
                ]
              }
            ],
            "negative": [
              {
                "ticker": "058470",
                "name": "리노공업",
                "score": -25,
                "label": "부정",
                "summary": "호재: 성장 | 악재: 하락, 블록딜, 우려",
                "articles": [
                  "40일째 분규...리노공업 노사 '평행선' - knn.co.kr",
                  "[단독] 리노공업, 8600억 규모 블록딜 철회 검토…주가하락·파업 내우외환 - greened.kr"
                ]
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "score": -21,
                "label": "부정",
                "summary": "호재: 기대, 성장 | 악재: 유상증자, 하락, 급락",
                "articles": [
                  "[주식] 3조 유상증자한 삼성바이오로직스, 주가는 7% 빠졌다 - 히트뉴스",
                  "DS증권, 삼성바이오 목표가↓…\"하반기엔 실적·투심 개선 기대\" - 연합뉴스"
                ]
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "score": -18,
                "label": "부정",
                "summary": "악재: 하락, 매도, 공매도",
                "articles": [
                  "재무정보 - NAVERCorp.",
                  "현대차 주가가 52주 고점 절반인데 외국인은 왜 계속 팔까요 - 네이버 프리미엄콘텐츠"
                ]
              },
              {
                "ticker": "247540",
                "name": "에코프로비엠",
                "score": -18,
                "label": "부정",
                "summary": "호재: 상승 | 악재: 부진, 하락, 하회",
                "articles": [
                  "에코프로비엠, ‘1.2조 유증’ 이후 실적‧주가 부진 어쩌나 - 한국금융신문",
                  "“도대체 바닥이 어디일까”…에코프로비엠 목표가 줄하향 [오늘, 이 종목] - 매일경제"
                ]
              },
              {
                "ticker": "000270",
                "name": "기아",
                "score": -9,
                "label": "중립",
                "summary": "호재: 상승 | 악재: 급락, 하락, 영업이익 감소",
                "articles": [
                  "\"車 불티나게 팔리는데\"…기아 주가만 빠진 뜻밖의 이유 [분석+] - 한국경제"
                ]
              },
              {
                "ticker": "035720",
                "name": "카카오",
                "score": -9,
                "label": "중립",
                "summary": "악재: 하락, 급락",
                "articles": [
                  "[허정수칼럼] 카카오 인적분할, ‘쪼개기’ 상처 지울까 - 블로터",
                  "카카오, 둘로 나누면 몸값 오를까…증권가 평가는 - 비즈워치"
                ]
              },
              {
                "ticker": "003670",
                "name": "포스코퓨처엠",
                "score": -3,
                "label": "중립",
                "summary": "호재: 상승, 매수, 순매수 | 악재: 하락, 급락, 부진",
                "articles": [
                  "주가 두자릿수 뛴 포스코퓨처엠…\"이차전지 바닥 끝났나\" - 연합인포맥스"
                ]
              }
            ],
            "neutral": [
              {
                "ticker": "000660",
                "name": "SK하이닉스",
                "score": 0,
                "label": "중립",
                "summary": "호재: 반등, 상승 | 악재: 약세, 하락",
                "articles": [
                  "주가 반등에도 거래량은 '바닥'…관망세 짙어진 반도체 투톱 - v.daum.net",
                  "AI주식상승확률분석 : SK하이닉스 (000660) 주가 전망과 상승확률 분석 - Investing.com 한국어"
                ]
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "score": 0,
                "label": "중립",
                "summary": "호재: 긍정적, 반등, 기대 | 악재: 하락, 목표가 하향, 악재",
                "articles": [
                  "현대차, 이익목표 9% 상향에도…‘아틀라스’ 빠지자 주가도 빠졌다 - 중앙일보",
                  "현대차 주가가 52주 고점 절반인데 외국인은 왜 계속 팔까요 - 네이버 프리미엄콘텐츠"
                ]
              }
            ]
          },
          "ml": {
            "status": "available",
            "model_version": "daily_v2_lstm",
            "actual_models": [
              "LightGBM",
              "XGBoost",
              "LSTM"
            ],
            "prediction_count": 50,
            "target_horizon": 5,
            "market_bias": "약세",
            "market_average": 0.0086,
            "tree_metrics": {
              "avg_auc": 0.7663,
              "avg_accuracy": 0.7022
            },
            "lstm_metrics": {
              "status": "available",
              "auc": 0.7698,
              "accuracy": 0.7035
            },
            "relative_strength": [
              {
                "ticker": "217590",
                "name": "티엠씨",
                "price": 10650,
                "relative_rank_pct": 80,
                "return_5d_pct": -8.66,
                "return_20d_pct": -14.18,
                "rsi": 17.4,
                "position_52w_pct": 6.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "009540",
                "name": "HD한국조선해양",
                "price": 336500,
                "relative_rank_pct": 78,
                "return_5d_pct": -6.66,
                "return_20d_pct": -10.03,
                "rsi": 30.2,
                "position_52w_pct": 12.5,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "028260",
                "name": "삼성물산",
                "price": 383500,
                "relative_rank_pct": 71.3,
                "return_5d_pct": -1.03,
                "return_20d_pct": 18.91,
                "rsi": 57.6,
                "position_52w_pct": 55.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "012330",
                "name": "현대모비스",
                "price": 422500,
                "relative_rank_pct": 71.3,
                "return_5d_pct": -8.94,
                "return_20d_pct": -12.25,
                "rsi": 29.3,
                "position_52w_pct": 25.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "055550",
                "name": "신한지주",
                "price": 112300,
                "relative_rank_pct": 69.3,
                "return_5d_pct": 4.56,
                "return_20d_pct": 9.78,
                "rsi": 67.5,
                "position_52w_pct": 98,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "051910",
                "name": "LG화학",
                "price": 279500,
                "relative_rank_pct": 66.7,
                "return_5d_pct": 6.07,
                "return_20d_pct": 8.97,
                "rsi": 52.4,
                "position_52w_pct": 26,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "086790",
                "name": "하나금융지주",
                "price": 138100,
                "relative_rank_pct": 65.3,
                "return_5d_pct": 5.05,
                "return_20d_pct": 8.27,
                "rsi": 66.7,
                "position_52w_pct": 91.8,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "196170",
                "name": "알테오젠",
                "price": 316000,
                "relative_rank_pct": 64,
                "return_5d_pct": 1.44,
                "return_20d_pct": 18.35,
                "rsi": 49.5,
                "position_52w_pct": 49.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005380",
                "name": "현대차",
                "price": 384000,
                "relative_rank_pct": 56,
                "return_5d_pct": -5.88,
                "return_20d_pct": -2.17,
                "rsi": 41.2,
                "position_52w_pct": 30.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "316140",
                "name": "우리금융지주",
                "price": 35200,
                "relative_rank_pct": 56,
                "return_5d_pct": 6.67,
                "return_20d_pct": 6.02,
                "rsi": 65.9,
                "position_52w_pct": 64.5,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ],
            "relative_weakness": [
              {
                "ticker": "042700",
                "name": "한미반도체",
                "price": 213500,
                "relative_rank_pct": 20,
                "return_5d_pct": -2.73,
                "return_20d_pct": 5.17,
                "rsi": 46.9,
                "position_52w_pct": 38.3,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "035420",
                "name": "NAVER",
                "price": 213000,
                "relative_rank_pct": 29.3,
                "return_5d_pct": -3.18,
                "return_20d_pct": -5.96,
                "rsi": 48.1,
                "position_52w_pct": 26,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005930",
                "name": "삼성전자",
                "price": 255000,
                "relative_rank_pct": 32.7,
                "return_5d_pct": -2.49,
                "return_20d_pct": 6.25,
                "rsi": 49.8,
                "position_52w_pct": 61.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "432720",
                "name": "퀄리타스반도체",
                "price": 8720,
                "relative_rank_pct": 34,
                "return_5d_pct": -2.13,
                "return_20d_pct": 9.27,
                "rsi": 39,
                "position_52w_pct": 11.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "032830",
                "name": "삼성생명",
                "price": 297500,
                "relative_rank_pct": 34,
                "return_5d_pct": -3.88,
                "return_20d_pct": 7.01,
                "rsi": 48.8,
                "position_52w_pct": 43.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "000150",
                "name": "두산",
                "price": 1150000,
                "relative_rank_pct": 34,
                "return_5d_pct": -2.54,
                "return_20d_pct": -9.73,
                "rsi": 40,
                "position_52w_pct": 32.4,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "207940",
                "name": "삼성바이오로직스",
                "price": 1502000,
                "relative_rank_pct": 36,
                "return_5d_pct": -6.07,
                "return_20d_pct": 1.76,
                "rsi": 42.8,
                "position_52w_pct": 36.1,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "227950",
                "name": "엔투텍",
                "price": 1299,
                "relative_rank_pct": 36.7,
                "return_5d_pct": -4.34,
                "return_20d_pct": 5.61,
                "rsi": 51.3,
                "position_52w_pct": 12.9,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "005935",
                "name": "삼성전자우",
                "price": 188800,
                "relative_rank_pct": 37.3,
                "return_5d_pct": -4.07,
                "return_20d_pct": 7.03,
                "rsi": 51.3,
                "position_52w_pct": 71,
                "confidence": "높음",
                "market_bias": "약세"
              },
              {
                "ticker": "066570",
                "name": "LG전자",
                "price": 201000,
                "relative_rank_pct": 37.3,
                "return_5d_pct": 0.25,
                "return_20d_pct": 21.45,
                "rsi": 47.3,
                "position_52w_pct": 35.2,
                "confidence": "높음",
                "market_bias": "약세"
              }
            ]
          },
          "sources": [
            {
              "name": "V1 Fixed overnight collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed macro collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed fear/greed + investor-flow collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed news sentiment collector",
              "status": "available"
            },
            {
              "name": "V1 Fixed daily market technical scan",
              "status": "unavailable"
            }
          ],
          "data_gaps": [
            "외국인·기관 수급 원자료 (미확보)",
            "관심종목 기술분석·시장 스캔"
          ]
        },
        "evening_analysis": {},
        "actual_market_result": {
          "status": "available",
          "reason": null,
          "kospi_close": 6627.22,
          "kosdaq_close": 813.81,
          "direction": "하락",
          "return_pct": -3.05128880306621,
          "observed_at": "2026-09-02T16:05:20.246709+09:00",
          "llm_success": true
        },
        "llm_evaluation": {
          "status": "evaluated",
          "success": true,
          "failure": false
        },
        "ml_evaluation": {
          "prediction_count": 50,
          "status": "pending",
          "evaluated_count": 0,
          "pending_count": 50,
          "correct_count": null,
          "reason": "target_date_unavailable"
        },
        "improvement": {
          "status": "none",
          "proposal_id": null,
          "actual_applied": false,
          "observation_state": "not_started"
        },
        "publications": {
          "morning": {
            "status": "available",
            "path": "reports/2026-09-02/morning/"
          },
          "evening": {
            "status": "available",
            "path": "reports/2026-09-02/evening/"
          }
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-day1-2026-09-02-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-a9a076f48c68927b"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-day1-2026-09-02-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-day1-2026-09-02-morning-01"
          }
        ]
      }
    ]
  },
  "evaluations": {
    "schema_version": 1,
    "project_id": "stockpulse-v1-fixed",
    "records": [
      {
        "evaluation_id": "evaluation-live-shadow-day1-2026-09-02-morning-01",
        "run_id": "live-shadow-day1-2026-09-02-morning-01",
        "prediction_id": "prediction-live-shadow-day1-2026-09-02-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-02",
        "snapshot_id": "input-snapshot-a9a076f48c68927b",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 50,
        "correct_count": null,
        "llm_success": true,
        "llm_failure": false,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-day1-2026-09-02-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-a9a076f48c68927b"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-day1-2026-09-02-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-day1-2026-09-02-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-22-morning-01",
        "run_id": "live-shadow-2026-09-22-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-22-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-22",
        "snapshot_id": "input-snapshot-b7068ab6741d1d96",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 50,
        "correct_count": null,
        "llm_success": null,
        "llm_failure": null,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-22-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-b7068ab6741d1d96"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-22-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-22-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-21-morning-01",
        "run_id": "live-shadow-2026-09-21-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-21-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-21",
        "snapshot_id": "input-snapshot-66a398278642070a",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 609,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-21-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-66a398278642070a"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-21-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-21-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-18-morning-01",
        "run_id": "live-shadow-2026-09-18-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-18-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-18",
        "snapshot_id": "input-snapshot-043c58ca2cfae986",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 559,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-18-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-043c58ca2cfae986"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-18-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-18-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-17-morning-01",
        "run_id": "live-shadow-2026-09-17-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-17-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-17",
        "snapshot_id": "input-snapshot-ec2768a31799e6c8",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 509,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-17-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-ec2768a31799e6c8"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-17-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-17-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-16-morning-01",
        "run_id": "live-shadow-2026-09-16-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-16-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-16",
        "snapshot_id": "input-snapshot-a625b1b2cc0cb135",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 2,
        "pending_count": 459,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-16-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-a625b1b2cc0cb135"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-16-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-16-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-15-morning-01",
        "run_id": "live-shadow-2026-09-15-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-15-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-15",
        "snapshot_id": "input-snapshot-8be2658debf00a14",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 411,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-15-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-8be2658debf00a14"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-15-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-15-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-14-morning-01",
        "run_id": "live-shadow-2026-09-14-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-14-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-14",
        "snapshot_id": "input-snapshot-96b9f832be8c74a1",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 1,
        "pending_count": 361,
        "correct_count": null,
        "llm_success": true,
        "llm_failure": false,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-14-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-96b9f832be8c74a1"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-14-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-14-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-11-morning-01",
        "run_id": "live-shadow-2026-09-11-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-11-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-11",
        "snapshot_id": "input-snapshot-7373963dccd5d66e",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 4,
        "pending_count": 312,
        "correct_count": null,
        "llm_success": true,
        "llm_failure": false,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-11-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-7373963dccd5d66e"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-11-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-11-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-10-morning-01",
        "run_id": "live-shadow-2026-09-10-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-10-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-10",
        "snapshot_id": "input-snapshot-1a8d3736f41383ab",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 266,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 8,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-10-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-1a8d3736f41383ab"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-10-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-10-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-09-morning-01",
        "run_id": "live-shadow-2026-09-09-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-09-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-09",
        "snapshot_id": "input-snapshot-579c770bfaa106a4",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 258,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 8,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-09-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-579c770bfaa106a4"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-09-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-09-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-08-supply-repair-01",
        "run_id": "live-shadow-2026-09-08-supply-repair-01",
        "prediction_id": "prediction-live-shadow-2026-09-08-supply-repair-01",
        "llm_prediction_id": "llm-prediction-2026-09-08",
        "snapshot_id": "input-snapshot-2df019eb6bcd33b4",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 250,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 0,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-08-supply-repair-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-2df019eb6bcd33b4"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-08-supply-repair-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-08-supply-repair-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-07-morning-01",
        "run_id": "live-shadow-2026-09-07-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-07-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-07",
        "snapshot_id": "input-snapshot-d7131d8aba05c6bd",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 200,
        "correct_count": null,
        "llm_success": true,
        "llm_failure": false,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-07-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-d7131d8aba05c6bd"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-07-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-07-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-04-morning-01",
        "run_id": "live-shadow-2026-09-04-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-04-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-04",
        "snapshot_id": "input-snapshot-20d232a6e1bc7e81",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 150,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-04-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-20d232a6e1bc7e81"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-04-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-04-morning-01"
          }
        ]
      },
      {
        "evaluation_id": "evaluation-live-shadow-2026-09-03-morning-01",
        "run_id": "live-shadow-2026-09-03-morning-01",
        "prediction_id": "prediction-live-shadow-2026-09-03-morning-01",
        "llm_prediction_id": "llm-prediction-2026-09-03",
        "snapshot_id": "input-snapshot-b31efaba14c81c01",
        "scope": "v1_fixed_fresh_ml_predictions_and_morning_llm",
        "status": "pending",
        "evaluated_count": 0,
        "pending_count": 100,
        "correct_count": null,
        "llm_success": false,
        "llm_failure": true,
        "target_maturity": {
          "status": "not_mature",
          "reason": "target_date_unavailable"
        },
        "fresh_storage": {
          "lane": "v1_fixed_fresh",
          "inserted_count": 50,
          "evaluation_status": "pending",
          "evaluated_at": null
        },
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-03-morning-01"
          },
          {
            "kind": "input_snapshot",
            "id": "input-snapshot-b31efaba14c81c01"
          },
          {
            "kind": "prediction",
            "id": "prediction-live-shadow-2026-09-03-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-03-morning-01"
          }
        ]
      }
    ]
  },
  "improvements": {
    "schema_version": 1,
    "project_id": "stockpulse-v1-fixed",
    "summary": {
      "status": "none",
      "reason": "no_evaluated_failure_observed",
      "proposal_count": 12,
      "applied_count": 12,
      "pending_count": 0,
      "rejected_count": 0
    },
    "records": [
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-21-morning-01",
        "run_id": "live-shadow-2026-09-21-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-21-morning-01",
        "proposal_id": "proposal-d137cccb03ab715c",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세·breadth 약세와 해외 위험선호·반도체·환율 counter-signal이 충돌할 때 counter-signal의 국내 지수 전이 가능성을 별도 시나리오로 평가합니다. 당일 breadth·외국인/기관 수급이 없으면 이를 방향 확정 근거로 사용하지 않고 불확실성으로 표시합니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "절대 방향 판단에서 국내 breadth 약세와 해외 반도체·성장주 counter-signal이 충돌했을 때, 국내 약세 신호의 설명력이 과대평가되고 해외 신호의 지수 전이 가능성이 과소평가되었습니다. 특히 당일 breadth·외국인/기관 수급이 부재한 상태에서 이를 하락 확신의 보조 근거처럼 사용한 것이 문제였습니다. 수급과 breadth가 없는 경우에는 방향을 확정하는 근거가 아니라 불확실성으로 유지하고, 반도체·환율·해외 지수 신호가 국내 대형주를 통해 전체 지수로 확산될 가능성을 별도 시나리오로 평가해야 합니다.",
            "is_correct": false
          },
          "expected_impact": "국내 약세 신호가 해외 반도체·위험선호 반등을 과도하게 압도하는 오판을 줄이고, 다음 Morning의 절대 방향 판단에서 상쇄 시나리오를 균형 있게 반영합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-21-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-21-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-18-morning-01",
        "run_id": "live-shadow-2026-09-18-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-18-morning-01",
        "proposal_id": "proposal-bbe93ee4a289c7bd",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때, 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인/기관 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "LLM 절대 방향 판단은 보합으로 실제 상승을 맞히지 못했으며, 실제 수익률도 2.52649302%로 방향뿐 아니라 강도까지 빗나갔습니다. 국내 추세 약세와 외국인 순매도를 유효한 제약으로 본 것은 타당했지만, SOX·AMD·MU 등 반도체 counter-signal과 미국 주요 지수의 동반 상승을 상방 시나리오의 독립적인 주도 조건으로 충분히 높이지 못했습니다. 다음에는 해외 broad risk-on과 반도체 리더 강세가 동시에 나타날 때 이를 단순한 하방 완충이 아니라 국내 대형주 전이를 확인해야 하는 주된 조건부 시나리오로 분리합니다. 장중 breadth와 종목별 수급이 없으면 그 부재를 명시하고, 이를 국내 약세의 추가 근거로 사용하지 않습니다. ML은 5회 관측 세션이 성숙하지 않아 0건 평가·559건 pending이며 이번 절대 방향 실패의 근거나 개선 근거로 사용하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "국내 추세 신호와 반대되는 해외·환율 counter-signal의 누락을 줄이고 다음 Morning의 방향 판단 근거를 균형화합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-18-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-18-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-17-morning-01",
        "run_id": "live-shadow-2026-09-17-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-17-morning-01",
        "proposal_id": "proposal-faf3ad98c9882a57",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때, 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인/기관 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "LLM 방향 평가는 상승을 맞히지 못했으나 평가 대상 변동폭이 매우 작고, Morning의 보합 시나리오가 상승·하락 양쪽 조건을 명시했다는 점에서 강한 실패로 확대 해석하지 않습니다. 다음에는 broad market 약세와 국내 반도체 counter-signal이 충돌할 때 지수 방향을 단일 매크로 신호로 누르지 않고, 대형주·반도체 리더의 실제 확산 여부를 더 높은 우선순위의 조건부 신호로 분리합니다. ML은 5회 관측 세션 전으로 50건 모두 pending이므로 이번 KOSPI 절대 방향의 실패 분석이나 개선 근거로 사용하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "국내 추세 신호와 반대되는 해외·환율 counter-signal의 누락을 줄이고 다음 Morning의 방향 판단 근거를 균형화합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-17-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-17-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-16-morning-01",
        "run_id": "live-shadow-2026-09-16-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-16-morning-01",
        "proposal_id": "proposal-4e55512c10389feb",
        "trigger": {},
        "requested_change": {
          "action_detail": "국내 추세·수급 약세와 해외 broad market 약세가 반도체·대형주 반등과 충돌할 때, counter-signal을 별도 조건부 시나리오로 평가한 뒤 절대 방향을 결정합니다. 장중 breadth·개별 수급이 없으면 이를 방향 근거로 대체하지 않고 불확실성으로 표시합니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "LLM은 하락을 예측했지만 실제 KOSPI 방향은 상승이므로 평가 결과는 실패입니다. 실패 원인은 국내 약세 신호와 미국 broad market 약세를 지수 전체의 지속 하락으로 확장한 데 있습니다. 반도체 섹터의 반등은 이미 Morning 스냅샷에 있었으므로 국내 대형 기술주가 하방을 완충하거나 지수 방향을 전환할 조건부 시나리오를 더 명확히 분리했어야 합니다. 장중 breadth와 종목별 수급이 없으므로 특정 업종이나 투자 주체가 상승을 만들었다고 단정하지 않습니다. ML은 50개 예측을 생성했지만 5회 관측 전이라 evaluated가 아니며, 이번 LLM 방향 실패의 원인이나 성과 개선 근거로 사용하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "다음 Morning에서 국내 약세 신호와 반도체·대형주 반등 신호의 충돌을 균형 있게 반영하고, 확인되지 않은 장중 기여도를 과잉 추론하지 않도록 합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-16-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-16-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-15-morning-01",
        "run_id": "live-shadow-2026-09-15-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-15-morning-01",
        "proposal_id": "proposal-8451a5c133aecd2c",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때, 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인/기관 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "LLM 판단은 하락을 예측했지만 실제 방향은 상승이므로 평가 결과는 실패입니다. 실패 원인은 반도체와 해외 위험회피 신호를 국내 지수 전체의 지속 하락으로 확장한 데 있습니다. 시장 단위 수급은 전일 외국인·기관 순매도로 약세였으나, 종목별 장중 breadth와 실시간 수급은 관측되지 않았습니다. 이 공백을 하락 근거로 대체하지 않고 불확실성으로 남겼어야 하며, 금융주처럼 지수에 영향을 주는 반대 그룹의 상대 강도를 별도 시나리오로 평가했어야 합니다. ML의 5일 상대성과는 50개 중 37개가 음수이고 평균 -2.94%였지만, 5회 관측 전이라 pending이며 KOSPI 절대 방향 실패의 원인이나 개선 근거로 사용하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "국내 추세 신호와 반대되는 해외·환율 counter-signal의 누락을 줄이고 다음 Morning의 방향 판단 근거를 균형화합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-15-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-15-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-14-morning-01",
        "run_id": "live-shadow-2026-09-14-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-14-morning-01",
        "proposal_id": "proposal-fb2baeb5dfb8ac5b",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인·기관 당일 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "LLM 절대 방향은 하락으로 적중했으므로 LLM 실패는 관찰되지 않았습니다. ML은 5개 관측 세션 성숙 전이라 전체 성능을 판단할 수 없지만, 이번 평가에서 1건의 failure가 기록되었습니다. 따라서 ML 실패를 LLM 판단의 실패로 합산하지 않습니다. 이번 사례의 개선 포인트는 국내 절대 방향과 ML 5일 상대성과를 계속 분리하고, 해외 반등 신호가 존재할 때도 장중 breadth·당일 수급 부재를 확신 제한 요인으로 명시하는 것입니다.",
            "is_correct": true
          },
          "expected_impact": "국내 절대 방향과 ML 상대성과의 혼동을 줄이고, 반대 방향의 해외 신호와 국내 데이터 공백을 다음 Morning 판단에 균형 있게 반영합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-14-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-14-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-11-morning-01",
        "run_id": "live-shadow-2026-09-11-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-11-morning-01",
        "proposal_id": "proposal-a77a0afcd998f90f",
        "trigger": {},
        "requested_change": {
          "action_detail": "다음 Morning에서도 KOSPI 절대 방향 판단과 ML 5일 상대성과를 분리하고, ML 평가가 성숙하지 않은 동안에는 failure_count만으로 모델·feature 변경을 제안하지 않습니다. 성숙한 평가 evidence가 확보되면 종목·모델·목표 horizon별 원인을 별도로 기록한 뒤에만 개선 후보를 만듭니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "LLM 절대 방향 판단은 성공했습니다. ML은 5회 관측 성숙 조건이 아직 충족되지 않았고, 전체 316건 중 이번에 4건이 평가되어 3건의 failure와 312건의 pending이 남아 있습니다. 따라서 ML failure를 KOSPI 절대 방향 판단의 실패로 해석하지 않습니다. 현재 확인 가능한 근거만으로 특정 모델·특정 특성의 원인을 단정할 수 없으므로, 모델 파라미터 변경이나 feature 변경은 제안하지 않습니다. 다음 실행에서는 ML 상대성과 평가 결과를 절대 지수 방향과 계속 분리하고, 성숙한 평가 표본과 종목별 원인 evidence가 확보될 때만 모델 개선을 검토합니다.",
            "is_correct": true
          },
          "expected_impact": "절대 방향 판단과 상대성과 평가의 혼동을 줄이고, 미성숙한 ML 표본에서 근거 없는 파라미터·feature 변경이 공유 lifecycle에 들어가는 것을 방지합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-11-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-11-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-10-morning-01",
        "run_id": "live-shadow-2026-09-10-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-10-morning-01",
        "proposal_id": "proposal-e980024463ae9048",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때, 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인/기관 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "절대 방향 예측이 보합이었고 실제 방향은 상승이어서 LLM 판단 실패가 관측되었습니다. 원인은 국내 과열·변동성·예정 이벤트 리스크를 경고 신호로는 적절히 포착했지만, SOX 및 주요 반도체주의 상승과 원화 안정, 삼성SDI·LG화학·포스코퓨처엠 등 국내 선도주의 상승 폭이 당일 지수 방향에 미친 영향을 하방 상쇄 요인 수준으로만 제한한 데 있습니다. 최신 breadth와 당일 수급은 제공되지 않았으므로 그 부재를 상승 또는 하락 근거로 추정하지 않습니다. ML의 5거래일 상대강도 평가는 target_not_reached 상태이므로 이번 절대 방향 실패의 원인으로 사용하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "국내 추세 신호와 반대되는 해외·환율 counter-signal의 누락을 줄이고 다음 Morning의 방향 판단 근거를 균형화합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-10-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-10-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-09-morning-01",
        "run_id": "live-shadow-2026-09-09-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-09-morning-01",
        "proposal_id": "proposal-7c0bba9fbb0fe77c",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때, 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인/기관 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "LLM 절대 방향 판단에서 국내 과열·되돌림 위험과 해외 broad market 약세를 과대 반영하고, 반도체 섹터의 독립적인 상승 counter-signal과 국내 대형 반도체의 지지 가능성을 최종 방향에 충분히 반영하지 못했습니다. 당일 breadth와 수급이 없다는 데이터 제약 때문에 상승 확산 여부를 확인할 수 없었지만, 이를 곧바로 보합 근거로 사용하는 대신 상승·보합 양쪽 시나리오의 조건으로 분리했어야 합니다.",
            "is_correct": false
          },
          "expected_impact": "국내 추세 신호와 반대되는 해외·환율 counter-signal의 누락을 줄이고 다음 Morning의 방향 판단 근거를 균형화합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-09-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-09-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-08-supply-repair-01",
        "run_id": "live-shadow-2026-09-08-supply-repair-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-08-supply-repair-01",
        "proposal_id": "proposal-37bec9eaeb103037",
        "trigger": {},
        "requested_change": {
          "action_detail": "국내 지수의 단기 과열·되돌림 위험과 미국 주요 지수 약세가 반도체·아시아·환율 counter-signal과 충돌할 때, 절대 방향을 결정하기 전에 국내 과열/되돌림 시나리오를 별도 검토하고 상승 판단의 확신을 자동으로 제한합니다. 수급·breadth가 missing이면 이를 방향 근거로 대체하지 않고 불확실성으로 유지합니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "절대 방향 판단은 실패했습니다. 전일 추세와 KOSPI 대형주 수급 및 반도체 counter-signal을 국내 지수의 당일 상승으로 상대적으로 크게 반영했고, 과열 이후 되돌림과 시장별 수급 divergence를 최종 방향에 충분히 반영하지 못했습니다. 다만 장중 breadth·시가·고가·저가·거래대금과 업종별 확산 자료가 없으므로 실패 원인을 특정 투자 주체나 단일 업종으로 귀속하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "전일 급등과 반도체 강세가 당일 국내 지수의 절대 상승으로 과대 해석되는 오류를 줄이고 시장별 수급 divergence와 과열 이후 되돌림을 다음 판단에 반영합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-08-supply-repair-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-08-supply-repair-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-04-morning-01",
        "run_id": "live-shadow-2026-09-04-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-04-morning-01",
        "proposal_id": "proposal-4cd09d3ef93100d6",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때, 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인/기관 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "Yura Morning의 KOSPI 절대 방향 예측은 실제 상승과 불일치했습니다. 관찰 가능한 원인은 국내 추세·KOSDAQ 약세와 수급 부재를 해외 위험선호·환율·변동성 개선보다 강하게 반영한 점, 그리고 전일 국내 약세 이후 반등이 발생할 가능성을 충분히 높이지 않은 점입니다. 이번 비교에서 확인된 실제 상승은 KOSPI 절대 방향에 대한 LLM 실패로 평가합니다. 반면 ML 50개 종목 신호는 5세션 상대 초과성과를 대상으로 하며 아직 성숙하지 않아 평가_count 0, pending 150으로 남아 있습니다. 따라서 ML 약세 신호를 이번 KOSPI 상승의 평가 실패나 개선 근거로 사용하지 않습니다. 수급과 breadth가 제공되지 않은 상태에서 이를 특정 투자 주체의 매수·매도로 해석하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "국내 추세 신호와 반대되는 해외·환율 counter-signal의 누락을 줄이고 다음 Morning의 방향 판단 근거를 균형화합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-04-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-04-morning-01"
          }
        ]
      },
      {
        "cycle_id": "improvement-cycle-live-shadow-2026-09-03-morning-01",
        "run_id": "live-shadow-2026-09-03-morning-01",
        "evaluation_id": "evaluation-live-shadow-2026-09-03-morning-01",
        "proposal_id": "proposal-8c6f8e12974860f6",
        "trigger": {},
        "requested_change": {
          "action_detail": "절대 방향 판단에서 국내 추세 약세와 해외 위험선호·반도체·환율 반등이 충돌할 때, 해외 counter-signal을 별도 평가한 뒤 최종 방향을 결정합니다. 장중 breadth·외국인/기관 수급이 없으면 이를 불확실성으로 표시하고 국내 약세 근거로 대체하지 않습니다.",
          "action_type": "prompt",
          "analysis_scope": "yura_evening_full_context",
          "evaluation": {
            "fail_reason": "Yura LLM의 KOSPI 절대 방향 예측은 실제 상승과 불일치했습니다. 관찰 가능한 원인은 국내 추세·전일 급락·수급 부재를 해외 위험선호 회복보다 강하게 가중한 점과, 전일 급락 뒤 반발 매수 및 해외 반등의 국내 전이 가능성을 충분히 반영하지 못한 점입니다. 다만 당일 breadth, 장중 고저·거래대금, 외국인·기관 실수급은 보존된 입력에서 확인되지 않으므로 단일 원인으로 확정하지 않습니다. ML 50건은 5개 관측 세션이 아직 없어 평가 실패가 아니며, 개선 제안은 생성하지 않습니다.",
            "is_correct": false
          },
          "expected_impact": "국내 추세 신호와 반대되는 해외·환율 counter-signal의 누락을 줄이고 다음 Morning의 방향 판단 근거를 균형화합니다."
        },
        "status": "applied",
        "approved": true,
        "actual_applied": true,
        "effective_runtime_readback": null,
        "application_kind": "prompt",
        "readback_verified": true,
        "observation_state": "pending",
        "evidence_refs": [
          {
            "kind": "run",
            "id": "live-shadow-2026-09-03-morning-01"
          },
          {
            "kind": "evaluation",
            "id": "evaluation-live-shadow-2026-09-03-morning-01"
          }
        ]
      }
    ]
  },
  "findings": {
    "schema_version": 1,
    "project_id": "stockpulse-v1-fixed",
    "promotion_policy": "promote_only_material_experiment_results; no_daily_lab_slug",
    "records": []
  },
  "metrics": {
    "schema_version": 1,
    "project_id": "stockpulse-v1-fixed",
    "snapshot": {
      "live_shadow_day": "Latest run · 2026-09-22",
      "current_state": "morning_complete_evening_not_started",
      "run_count": 15,
      "llm_evaluated": 0,
      "llm_correct": null,
      "ml_prediction_count": 50,
      "ml_evaluated": 0,
      "ml_correct": null,
      "ml_evaluation_state": "pending",
      "improvement_cycles": 12,
      "improvement_status": "none",
      "applied_count": 12,
      "rejected_count": 0,
      "pending_count": 0,
      "current_effective_config": {
        "lgb": {
          "learning_rate": 0.03,
          "n_estimators": 500
        },
        "xgb": {
          "learning_rate": 0.03,
          "n_estimators": 500
        },
        "lstm": {
          "sequence_length": 20
        },
        "ensemble": {
          "lgb": 0.3,
          "xgb": 0.3,
          "lstm": 0.4
        }
      }
    },
    "runs": [
      {
        "run_id": "live-shadow-2026-09-22-morning-01",
        "trading_date": "2026-09-22",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 50,
        "ml_correct_count": null,
        "llm_evaluated": false,
        "llm_correct": null,
        "improvement_cycles": 0,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-21-morning-01",
        "trading_date": "2026-09-21",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 609,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-18-morning-01",
        "trading_date": "2026-09-18",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 559,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-17-morning-01",
        "trading_date": "2026-09-17",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 509,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-16-morning-01",
        "trading_date": "2026-09-16",
        "prediction_count": 50,
        "ml_evaluated_count": 2,
        "ml_pending_count": 459,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-15-morning-01",
        "trading_date": "2026-09-15",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 411,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-14-morning-01",
        "trading_date": "2026-09-14",
        "prediction_count": 50,
        "ml_evaluated_count": 1,
        "ml_pending_count": 361,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": true,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-11-morning-01",
        "trading_date": "2026-09-11",
        "prediction_count": 50,
        "ml_evaluated_count": 4,
        "ml_pending_count": 312,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": true,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-10-morning-01",
        "trading_date": "2026-09-10",
        "prediction_count": 8,
        "ml_evaluated_count": 0,
        "ml_pending_count": 266,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-09-morning-01",
        "trading_date": "2026-09-09",
        "prediction_count": 8,
        "ml_evaluated_count": 0,
        "ml_pending_count": 258,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-08-supply-repair-01",
        "trading_date": "2026-09-08",
        "prediction_count": 8,
        "ml_evaluated_count": 0,
        "ml_pending_count": 250,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 1,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-07-morning-01",
        "trading_date": "2026-09-07",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 200,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": true,
        "improvement_cycles": 0,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-04-morning-01",
        "trading_date": "2026-09-04",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 150,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 1,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-2026-09-03-morning-01",
        "trading_date": "2026-09-03",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 100,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": false,
        "improvement_cycles": 1,
        "actual_applied_count": 1,
        "evaluation_status": "pending"
      },
      {
        "run_id": "live-shadow-day1-2026-09-02-morning-01",
        "trading_date": "2026-09-02",
        "prediction_count": 50,
        "ml_evaluated_count": 0,
        "ml_pending_count": 50,
        "ml_correct_count": null,
        "llm_evaluated": true,
        "llm_correct": true,
        "improvement_cycles": 0,
        "actual_applied_count": 0,
        "evaluation_status": "pending"
      }
    ]
  },
  "publication": {
    "publication_id": "stockpulse-v1-fixed-publication",
    "status": "projection_only_not_published",
    "morning": {
      "status": "available",
      "path": "reports/2026-09-22/morning/",
      "run_id": "live-shadow-2026-09-22-morning-01"
    },
    "evening": {
      "status": "not_started",
      "path": null,
      "run_id": "live-shadow-2026-09-22-morning-01"
    },
    "daily_lab_slug_policy": "disabled"
  },
  "security": {
    "private_source_read_only": true,
    "credentials_projected": false,
    "raw_prompt_projected": false,
    "execution_log_projected": false,
    "internal_absolute_paths_projected": false,
    "publication_attempted": false,
    "telegram_attempted": false,
    "cron_activation_attempted": false,
    "historical_mutation": false,
    "archive_mutation": false,
    "deploy_attempted": false
  }
}
