KOSPI Monitor Signal — options

읽기 전용 데이터입니다. 문서의 원래 생성 시각·자료일·유효기한과 각 관측 시각을 검증하십시오. 조회 시각으로 원자료 시각을 갱신하지 않습니다.

{
  "schemaVersion": "kospimonitor.market-signal-summary.v1",
  "dataDate": "2026-11-02",
  "generatedAtKst": "2026-11-03T08:30:00+09:00",
  "status": "partial",
  "sourceUrl": "https://www.kospimonitor.p-e.kr/market-signal-summary.json",
  "sourceContentSha256": "cff5d6c414877379624874aca9d2622c87ed0c1124cdbe074b60c6b9ae33a1d4",
  "section": "options",
  "data": {
    "schemaVersion": "kospimonitor.options-by-product.v1",
    "provenance": {
      "reportSchemaVersion": "frs.daily-report.v1",
      "reportTradingDate": "2026-11-02",
      "reportGeneratedAt": "2026-11-02T23:22:02.518196+00:00",
      "reportSha256": "d762c5678b3987b3892ec944b09ca33823559e19ad270e4f11afd32bfa1f6d33",
      "manifestSha256": "af96d1ce6f62c5a2d6065df06f4b195207a5a6e297f1509940d9e2219c04be1a",
      "reportMetadata": {}
    },
    "byProduct": {
      "200": {
        "name": "KS200",
        "sourceType": "index",
        "symbol": null,
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "200",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "202611",
          "expiryDate": "2026-11-12",
          "nominalExpiryDate": "2026-11-12",
          "calendarDaysToExpiry": 10,
          "dte": 10,
          "businessDaysToExpiry": 8,
          "expiry": {
            "code": "202611",
            "actualDate": "2026-11-12",
            "nominalDate": "2026-11-12",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 10,
            "tradingDaysToExpiry": 8,
            "weekdayEstimateToExpiry": 8,
            "lifecycle": "active",
            "holidayRule": "preceding-opening-day"
          },
          "spot": 920.63,
          "spotUnit": "index-point",
          "annualRate": 0.03013,
          "callOpenInterest": 132160,
          "putOpenInterest": 60058,
          "putCallOpenInterestRatio": 0.4544340193704601,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-screen-15011-product-side-average-percent"
            ],
            "scopes": [
              "product-all-expiries-average"
            ],
            "expirySpecific": false,
            "limitation": "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 692,
            "observedContractCount": 692,
            "strikeCount": 346,
            "strikeMin": 732.5,
            "strikeMax": 1595.0,
            "callContractCount": 346,
            "putContractCount": 346,
            "pairedStrikeCount": 346,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "ISU_NM-explicit-session-marker"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 1000.0,
                "openInterest": 7425,
                "tiedStrikes": [
                  1000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 79.37,
                "distanceFromSpotPercent": 8.621270217133926,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 750.0,
                "openInterest": 5968,
                "tiedStrikes": [
                  750.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -170.63,
                "distanceFromSpotPercent": -18.534047337149563,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 1000.0,
                "openInterest": 7425,
                "tiedStrikes": [
                  1000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 79.37,
                "distanceFromSpotPercent": 8.621270217133926,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 950.0,
                "openInterest": 3886,
                "tiedStrikes": [
                  950.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 29.370000000000005,
                "distanceFromSpotPercent": 3.190206706277232,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": 20679.22204010906,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 109008.38744328228,
            "putNegativeComponent": -88329.16540317322
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 10,
            "timeYears": 0.0273972602739726,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 920.0,
          "callWallStrike": 1000.0,
          "callWallOpenInterest": 7425,
          "putWallStrike": 950.0,
          "putWallOpenInterest": 3886,
          "gammaWallStrike": 1000.0,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 940.0,
          "topExposureStrikes": [
            1000.0,
            850.0,
            950.0,
            925.0,
            870.0
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 977.5,
          "putDelta25Strike": 872.5,
          "bandStart": 842.5,
          "bandEnd": 1007.5,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 842.5,
            "upperStrike": 1007.5,
            "padding": 12,
            "callDelta25Strike": 977.5,
            "putDelta25Strike": 872.5,
            "contractCount": 134,
            "strikeCount": 67,
            "observedContractCoverageRatio": 0.1936416184971098,
            "callOpenInterest": 27769,
            "putOpenInterest": 22662,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,000.0, 7,425계약입니다. 현물 종가보다 8.62% 높습니다.",
                "evidence": {
                  "strike": 1000.0,
                  "openInterest": 7425,
                  "tiedStrikes": [
                    1000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": 79.37,
                  "distanceFromSpotPercent": 8.621270217133926,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 750.0, 5,968계약입니다. 현물 종가보다 18.53% 낮습니다.",
                "evidence": {
                  "strike": 750.0,
                  "openInterest": 5968,
                  "tiedStrikes": [
                    750.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -170.63,
                  "distanceFromSpotPercent": -18.534047337149563,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 0.45배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 0.4544340193704601,
                  "callOpenInterest": 132160,
                  "putOpenInterest": 60058
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 20,679.22입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": 20679.22204010906,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
              "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "202611",
            "previousTradingDate": "2026-10-30",
            "callObservedChange": 4424,
            "putObservedChange": 647,
            "matchedCallStrikes": 346,
            "matchedPutStrikes": 346,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "aggregate": {
            "DEX": 1934751.9418142932,
            "GEX": 20679.22204010906,
            "Vanna_Exp": 5997303.980823014,
            "Theta_Exp": -5291.822023585558
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,000.0, 7,425계약입니다. 현물 종가보다 8.62% 높습니다.",
              "evidence": {
                "strike": 1000.0,
                "openInterest": 7425,
                "tiedStrikes": [
                  1000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 79.37,
                "distanceFromSpotPercent": 8.621270217133926,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 750.0, 5,968계약입니다. 현물 종가보다 18.53% 낮습니다.",
              "evidence": {
                "strike": 750.0,
                "openInterest": 5968,
                "tiedStrikes": [
                  750.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -170.63,
                "distanceFromSpotPercent": -18.534047337149563,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 0.45배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 0.4544340193704601,
                "callOpenInterest": 132160,
                "putOpenInterest": 60058
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 20,679.22입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": 20679.22204010906,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
            "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          ]
        },
        "investorFlow": {
          "tradingDate": "2026-11-02",
          "scope": "product-all-listed-expiries",
          "source": "KRX investor trading screen",
          "volumeUnit": "contracts",
          "amountUnit": "million-KRW",
          "amountPrecision": "rounded-source-million-KRW",
          "investors": {
            "institution": {
              "call": {
                "volume": {
                  "buy": 4174,
                  "sell": 4551,
                  "netBuy": -377
                },
                "premiumAmountMillionWon": {
                  "buy": 3372,
                  "sell": 6957,
                  "netBuy": -3585
                }
              },
              "put": {
                "volume": {
                  "buy": 2677,
                  "sell": 2685,
                  "netBuy": -8
                },
                "premiumAmountMillionWon": {
                  "buy": 5628,
                  "sell": 4464,
                  "netBuy": 1164
                }
              }
            },
            "individual": {
              "call": {
                "volume": {
                  "buy": 20317,
                  "sell": 20592,
                  "netBuy": -275
                },
                "premiumAmountMillionWon": {
                  "buy": 17503,
                  "sell": 17391,
                  "netBuy": 112
                }
              },
              "put": {
                "volume": {
                  "buy": 12676,
                  "sell": 12420,
                  "netBuy": 256
                },
                "premiumAmountMillionWon": {
                  "buy": 12529,
                  "sell": 13102,
                  "netBuy": -573
                }
              }
            },
            "foreigner": {
              "call": {
                "volume": {
                  "buy": 35194,
                  "sell": 34542,
                  "netBuy": 652
                },
                "premiumAmountMillionWon": {
                  "buy": 55673,
                  "sell": 52200,
                  "netBuy": 3473
                }
              },
              "put": {
                "volume": {
                  "buy": 17436,
                  "sell": 17684,
                  "netBuy": -248
                },
                "premiumAmountMillionWon": {
                  "buy": 35142,
                  "sell": 35733,
                  "netBuy": -591
                }
              }
            }
          },
          "sourceFiles": [
            {
              "name": "거래량_KS200_20261102.csv",
              "sha256": "c3283a676189ef5c25a1c1469c40033c3fce3888afbb7051f4ead223471c4fbc"
            },
            {
              "name": "거래대금_KS200_20261102.csv",
              "sha256": "7ae6554c8d40349b64f196acc818f802d4729a314512ee2fad3d2aa45940dff5"
            }
          ]
        },
        "artifacts": {
          "narrative": "분석리포트_KS200_20261102.txt",
          "profile": "옵션분석_KS200_20261102.csv",
          "greeks": "옵션그릭스_KS200_20261102.csv"
        }
      },
      "m": {
        "name": "미니코스피",
        "sourceType": "index",
        "symbol": null,
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "m",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "202611",
          "expiryDate": "2026-11-12",
          "nominalExpiryDate": "2026-11-12",
          "calendarDaysToExpiry": 10,
          "dte": 10,
          "businessDaysToExpiry": 8,
          "expiry": {
            "code": "202611",
            "actualDate": "2026-11-12",
            "nominalDate": "2026-11-12",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 10,
            "tradingDaysToExpiry": 8,
            "weekdayEstimateToExpiry": 8,
            "lifecycle": "active",
            "holidayRule": "preceding-opening-day"
          },
          "spot": 920.63,
          "spotUnit": "index-point",
          "annualRate": 0.03013,
          "callOpenInterest": 34013,
          "putOpenInterest": 22959,
          "putCallOpenInterestRatio": 0.6750066151177491,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-screen-15011-product-side-average-percent"
            ],
            "scopes": [
              "product-all-expiries-average"
            ],
            "expirySpecific": false,
            "limitation": "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 692,
            "observedContractCount": 692,
            "strikeCount": 346,
            "strikeMin": 732.5,
            "strikeMax": 1595.0,
            "callContractCount": 346,
            "putContractCount": 346,
            "pairedStrikeCount": 346,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "ISU_NM-explicit-session-marker"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 1595.0,
                "openInterest": 1397,
                "tiedStrikes": [
                  1595.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 674.37,
                "distanceFromSpotPercent": 73.2509259963286,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 862.5,
                "openInterest": 1307,
                "tiedStrikes": [
                  862.5
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -58.129999999999995,
                "distanceFromSpotPercent": -6.314154437721998,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 1000.0,
                "openInterest": 1076,
                "tiedStrikes": [
                  1000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 79.37,
                "distanceFromSpotPercent": 8.621270217133926,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 862.5,
                "openInterest": 1307,
                "tiedStrikes": [
                  862.5
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -58.129999999999995,
                "distanceFromSpotPercent": -6.314154437721998,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": 13042.8776770445,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 61114.82847810994,
            "putNegativeComponent": -48071.95080106544
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 10,
            "timeYears": 0.0273972602739726,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 920.0,
          "callWallStrike": 1000.0,
          "callWallOpenInterest": 1076,
          "putWallStrike": 862.5,
          "putWallOpenInterest": 1307,
          "gammaWallStrike": 1000.0,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 890.0,
          "topExposureStrikes": [
            1000.0,
            862.5,
            850.0,
            952.5,
            867.5
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 977.5,
          "putDelta25Strike": 872.5,
          "bandStart": 842.5,
          "bandEnd": 1007.5,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 842.5,
            "upperStrike": 1007.5,
            "padding": 12,
            "callDelta25Strike": 977.5,
            "putDelta25Strike": 872.5,
            "contractCount": 134,
            "strikeCount": 67,
            "observedContractCoverageRatio": 0.1936416184971098,
            "callOpenInterest": 15469,
            "putOpenInterest": 12797,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,595.0, 1,397계약입니다. 현물 종가보다 73.25% 높습니다.",
                "evidence": {
                  "strike": 1595.0,
                  "openInterest": 1397,
                  "tiedStrikes": [
                    1595.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": 674.37,
                  "distanceFromSpotPercent": 73.2509259963286,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 862.5, 1,307계약입니다. 현물 종가보다 6.31% 낮습니다.",
                "evidence": {
                  "strike": 862.5,
                  "openInterest": 1307,
                  "tiedStrikes": [
                    862.5
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -58.129999999999995,
                  "distanceFromSpotPercent": -6.314154437721998,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 0.68배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 0.6750066151177491,
                  "callOpenInterest": 34013,
                  "putOpenInterest": 22959
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 13,042.88입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": 13042.8776770445,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
              "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "202611",
            "previousTradingDate": "2026-10-30",
            "callObservedChange": 1239,
            "putObservedChange": 597,
            "matchedCallStrikes": 346,
            "matchedPutStrikes": 346,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "aggregate": {
            "DEX": 1199184.0088837103,
            "GEX": 13042.8776770445,
            "Vanna_Exp": 1633936.0382529327,
            "Theta_Exp": -3540.029201749489
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,595.0, 1,397계약입니다. 현물 종가보다 73.25% 높습니다.",
              "evidence": {
                "strike": 1595.0,
                "openInterest": 1397,
                "tiedStrikes": [
                  1595.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 674.37,
                "distanceFromSpotPercent": 73.2509259963286,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 862.5, 1,307계약입니다. 현물 종가보다 6.31% 낮습니다.",
              "evidence": {
                "strike": 862.5,
                "openInterest": 1307,
                "tiedStrikes": [
                  862.5
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -58.129999999999995,
                "distanceFromSpotPercent": -6.314154437721998,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 0.68배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 0.6750066151177491,
                "callOpenInterest": 34013,
                "putOpenInterest": 22959
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 13,042.88입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": 13042.8776770445,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
            "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          ]
        },
        "investorFlow": {
          "tradingDate": "2026-11-02",
          "scope": "product-all-listed-expiries",
          "source": "KRX investor trading screen",
          "volumeUnit": "contracts",
          "amountUnit": "million-KRW",
          "amountPrecision": "rounded-source-million-KRW",
          "investors": {
            "institution": {
              "call": {
                "volume": {
                  "buy": 3025,
                  "sell": 3073,
                  "netBuy": -48
                },
                "premiumAmountMillionWon": {
                  "buy": 6054,
                  "sell": 6096,
                  "netBuy": -42
                }
              },
              "put": {
                "volume": {
                  "buy": 3157,
                  "sell": 3021,
                  "netBuy": 136
                },
                "premiumAmountMillionWon": {
                  "buy": 3834,
                  "sell": 3625,
                  "netBuy": 209
                }
              }
            },
            "individual": {
              "call": {
                "volume": {
                  "buy": 2309,
                  "sell": 2817,
                  "netBuy": -508
                },
                "premiumAmountMillionWon": {
                  "buy": 1085,
                  "sell": 1246,
                  "netBuy": -161
                }
              },
              "put": {
                "volume": {
                  "buy": 2350,
                  "sell": 2559,
                  "netBuy": -209
                },
                "premiumAmountMillionWon": {
                  "buy": 1053,
                  "sell": 1228,
                  "netBuy": -175
                }
              }
            },
            "foreigner": {
              "call": {
                "volume": {
                  "buy": 5974,
                  "sell": 5418,
                  "netBuy": 556
                },
                "premiumAmountMillionWon": {
                  "buy": 7605,
                  "sell": 7404,
                  "netBuy": 201
                }
              },
              "put": {
                "volume": {
                  "buy": 5612,
                  "sell": 5539,
                  "netBuy": 73
                },
                "premiumAmountMillionWon": {
                  "buy": 5096,
                  "sell": 5131,
                  "netBuy": -35
                }
              }
            }
          },
          "sourceFiles": [
            {
              "name": "거래량_미니코스피_20261102.csv",
              "sha256": "05925ac86e7b36e0a6219d52b09add013951a5366342ecadfe99db57e4646c49"
            },
            {
              "name": "거래대금_미니코스피_20261102.csv",
              "sha256": "7d2c506d79ae7ea77c3be2f7d84e0f52397c21b3890ac1ff0038dd8c2f042280"
            }
          ]
        },
        "artifacts": {
          "narrative": "분석리포트_미니코스피_20261102.txt",
          "profile": "옵션분석_미니코스피_20261102.csv",
          "greeks": "옵션그릭스_미니코스피_20261102.csv"
        }
      },
      "w": {
        "name": "코스피위클리(목)",
        "sourceType": "index",
        "symbol": null,
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "w",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "2611W1",
          "expiryDate": "2026-11-05",
          "nominalExpiryDate": "2026-11-05",
          "calendarDaysToExpiry": 3,
          "dte": 3,
          "businessDaysToExpiry": 3,
          "expiry": {
            "code": "2611W1",
            "actualDate": "2026-11-05",
            "nominalDate": "2026-11-05",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 3,
            "tradingDaysToExpiry": 3,
            "weekdayEstimateToExpiry": 3,
            "lifecycle": "active",
            "holidayRule": "preceding-opening-day"
          },
          "spot": 920.63,
          "spotUnit": "index-point",
          "annualRate": 0.03013,
          "callOpenInterest": 12785,
          "putOpenInterest": 3210,
          "putCallOpenInterestRatio": 0.2510754790770434,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-screen-15011-product-side-average-percent"
            ],
            "scopes": [
              "product-all-expiries-average"
            ],
            "expirySpecific": false,
            "limitation": "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 232,
            "observedContractCount": 232,
            "strikeCount": 116,
            "strikeMin": 780.0,
            "strikeMax": 1067.5,
            "callContractCount": 116,
            "putContractCount": 116,
            "pairedStrikeCount": 116,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "ISU_NM-explicit-session-marker"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 927.5,
                "openInterest": 3221,
                "tiedStrikes": [
                  927.5
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 6.8700000000000045,
                "distanceFromSpotPercent": 0.7462281263917125,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 780.0,
                "openInterest": 793,
                "tiedStrikes": [
                  780.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -140.63,
                "distanceFromSpotPercent": -15.275409230635539,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 927.5,
                "openInterest": 3221,
                "tiedStrikes": [
                  927.5
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 6.8700000000000045,
                "distanceFromSpotPercent": 0.7462281263917125,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 920.0,
                "openInterest": 321,
                "tiedStrikes": [
                  920.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -0.6299999999999955,
                "distanceFromSpotPercent": -0.06843140023679029,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": 77717.89142508821,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 82296.2482848545,
            "putNegativeComponent": -4578.356859766297
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 3,
            "timeYears": 0.00821917808219178,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 920.0,
          "callWallStrike": 927.5,
          "callWallOpenInterest": 3221,
          "putWallStrike": 920.0,
          "putWallOpenInterest": 321,
          "gammaWallStrike": 927.5,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 920.0,
          "topExposureStrikes": [
            927.5,
            925.0,
            930.0,
            920.0,
            922.5
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 950.0,
          "putDelta25Strike": 890.0,
          "bandStart": 860.0,
          "bandEnd": 980.0,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 860.0,
            "upperStrike": 980.0,
            "padding": 12,
            "callDelta25Strike": 950.0,
            "putDelta25Strike": 890.0,
            "contractCount": 98,
            "strikeCount": 49,
            "observedContractCoverageRatio": 0.4224137931034483,
            "callOpenInterest": 9637,
            "putOpenInterest": 673,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 927.5, 3,221계약입니다. 현물 종가보다 0.75% 높습니다.",
                "evidence": {
                  "strike": 927.5,
                  "openInterest": 3221,
                  "tiedStrikes": [
                    927.5
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": 6.8700000000000045,
                  "distanceFromSpotPercent": 0.7462281263917125,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 780.0, 793계약입니다. 현물 종가보다 15.28% 낮습니다.",
                "evidence": {
                  "strike": 780.0,
                  "openInterest": 793,
                  "tiedStrikes": [
                    780.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -140.63,
                  "distanceFromSpotPercent": -15.275409230635539,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 0.25배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 0.2510754790770434,
                  "callOpenInterest": 12785,
                  "putOpenInterest": 3210
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 77,717.89입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": 77717.89142508821,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
              "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "2611W1",
            "previousTradingDate": "2026-10-30",
            "callObservedChange": 12187,
            "putObservedChange": 1416,
            "matchedCallStrikes": 102,
            "matchedPutStrikes": 102,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "aggregate": {
            "DEX": 409318.41138430894,
            "GEX": 77717.89142508821,
            "Vanna_Exp": 1445119.1548709967,
            "Theta_Exp": -24276.252057643083
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 927.5, 3,221계약입니다. 현물 종가보다 0.75% 높습니다.",
              "evidence": {
                "strike": 927.5,
                "openInterest": 3221,
                "tiedStrikes": [
                  927.5
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 6.8700000000000045,
                "distanceFromSpotPercent": 0.7462281263917125,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 780.0, 793계약입니다. 현물 종가보다 15.28% 낮습니다.",
              "evidence": {
                "strike": 780.0,
                "openInterest": 793,
                "tiedStrikes": [
                  780.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -140.63,
                "distanceFromSpotPercent": -15.275409230635539,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 0.25배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 0.2510754790770434,
                "callOpenInterest": 12785,
                "putOpenInterest": 3210
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 77,717.89입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": 77717.89142508821,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
            "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          ]
        },
        "investorFlow": {
          "tradingDate": "2026-11-02",
          "scope": "product-all-listed-expiries",
          "source": "KRX investor trading screen",
          "volumeUnit": "contracts",
          "amountUnit": "million-KRW",
          "amountPrecision": "rounded-source-million-KRW",
          "investors": {
            "institution": {
              "call": {
                "volume": {
                  "buy": 6162,
                  "sell": 14929,
                  "netBuy": -8767
                },
                "premiumAmountMillionWon": {
                  "buy": 24164,
                  "sell": 57497,
                  "netBuy": -33333
                }
              },
              "put": {
                "volume": {
                  "buy": 131,
                  "sell": 454,
                  "netBuy": -323
                },
                "premiumAmountMillionWon": {
                  "buy": 45,
                  "sell": 492,
                  "netBuy": -447
                }
              }
            },
            "individual": {
              "call": {
                "volume": {
                  "buy": 3500,
                  "sell": 2629,
                  "netBuy": 871
                },
                "premiumAmountMillionWon": {
                  "buy": 1911,
                  "sell": 1236,
                  "netBuy": 675
                }
              },
              "put": {
                "volume": {
                  "buy": 2325,
                  "sell": 1915,
                  "netBuy": 410
                },
                "premiumAmountMillionWon": {
                  "buy": 1332,
                  "sell": 871,
                  "netBuy": 461
                }
              }
            },
            "foreigner": {
              "call": {
                "volume": {
                  "buy": 13242,
                  "sell": 5346,
                  "netBuy": 7896
                },
                "premiumAmountMillionWon": {
                  "buy": 44973,
                  "sell": 12315,
                  "netBuy": 32658
                }
              },
              "put": {
                "volume": {
                  "buy": 3108,
                  "sell": 3195,
                  "netBuy": -87
                },
                "premiumAmountMillionWon": {
                  "buy": 3473,
                  "sell": 3487,
                  "netBuy": -14
                }
              }
            }
          },
          "sourceFiles": [
            {
              "name": "거래량_코스피위클리(목)_20261102.csv",
              "sha256": "e3558660488f0727dd5eeb1d0845d678afe68919677b1fd846a6e016a9cf2020"
            },
            {
              "name": "거래대금_코스피위클리(목)_20261102.csv",
              "sha256": "f3e9b31fb0776af4c48ca378bc55ba1caa64881012eeaf763c112ea454360f48"
            }
          ]
        },
        "artifacts": {
          "narrative": "분석리포트_코스피위클리(목)_20261102.txt",
          "profile": "옵션분석_코스피위클리(목)_20261102.csv",
          "greeks": "옵션그릭스_코스피위클리(목)_20261102.csv"
        }
      },
      "w2": {
        "name": "코스피위클리(월)",
        "sourceType": "index",
        "symbol": null,
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "w2",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "2611W2",
          "expiryDate": "2026-11-09",
          "nominalExpiryDate": "2026-11-09",
          "calendarDaysToExpiry": 7,
          "dte": 7,
          "businessDaysToExpiry": 5,
          "expiry": {
            "code": "2611W2",
            "actualDate": "2026-11-09",
            "nominalDate": "2026-11-09",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 7,
            "tradingDaysToExpiry": 5,
            "weekdayEstimateToExpiry": 5,
            "lifecycle": "active",
            "holidayRule": "following-opening-day"
          },
          "spot": 920.63,
          "spotUnit": "index-point",
          "annualRate": 0.03013,
          "callOpenInterest": 37,
          "putOpenInterest": 44,
          "putCallOpenInterestRatio": 1.1891891891891893,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-screen-15011-product-side-average-percent"
            ],
            "scopes": [
              "product-all-expiries-average"
            ],
            "expirySpecific": false,
            "limitation": "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 194,
            "observedContractCount": 194,
            "strikeCount": 97,
            "strikeMin": 780.0,
            "strikeMax": 1020.0,
            "callContractCount": 97,
            "putContractCount": 97,
            "pairedStrikeCount": 97,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "ISU_NM-explicit-session-marker"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 1020.0,
                "openInterest": 15,
                "tiedStrikes": [
                  1020.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 99.37,
                "distanceFromSpotPercent": 10.793695621476607,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 780.0,
                "openInterest": 11,
                "tiedStrikes": [
                  780.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -140.63,
                "distanceFromSpotPercent": -15.275409230635539,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 860.0,
                "openInterest": 6,
                "tiedStrikes": [
                  860.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -60.629999999999995,
                "distanceFromSpotPercent": -6.585707613264824,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 925.0,
                "openInterest": 5,
                "tiedStrikes": [
                  925.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 4.3700000000000045,
                "distanceFromSpotPercent": 0.47467495084887457,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": -39.15698920591585,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 62.42901015770186,
            "putNegativeComponent": -101.5859993636177
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 7,
            "timeYears": 0.019178082191780823,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 920.0,
          "callWallStrike": 860.0,
          "callWallOpenInterest": 6,
          "putWallStrike": 925.0,
          "putWallOpenInterest": 5,
          "gammaWallStrike": 860.0,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 925.0,
          "topExposureStrikes": [
            860.0,
            925.0,
            895.0,
            982.5,
            965.0
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 965.0,
          "putDelta25Strike": 882.5,
          "bandStart": 852.5,
          "bandEnd": 995.0,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 852.5,
            "upperStrike": 995.0,
            "padding": 12,
            "callDelta25Strike": 965.0,
            "putDelta25Strike": 882.5,
            "contractCount": 116,
            "strikeCount": 58,
            "observedContractCoverageRatio": 0.5979381443298969,
            "callOpenInterest": 14,
            "putOpenInterest": 20,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,020.0, 15계약입니다. 현물 종가보다 10.79% 높습니다.",
                "evidence": {
                  "strike": 1020.0,
                  "openInterest": 15,
                  "tiedStrikes": [
                    1020.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": 99.37,
                  "distanceFromSpotPercent": 10.793695621476607,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 780.0, 11계약입니다. 현물 종가보다 15.28% 낮습니다.",
                "evidence": {
                  "strike": 780.0,
                  "openInterest": 11,
                  "tiedStrikes": [
                    780.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -140.63,
                  "distanceFromSpotPercent": -15.275409230635539,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 1.19배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 1.1891891891891893,
                  "callOpenInterest": 37,
                  "putOpenInterest": 44
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 -39.16입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": -39.15698920591585,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
              "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "2611W2",
            "previousTradingDate": null,
            "callObservedChange": null,
            "putObservedChange": null,
            "matchedCallStrikes": 0,
            "matchedPutStrikes": 0,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "historicalExpiry": {
            "schemaVersion": "option-analytics-v2",
            "modelVersion": "black-scholes-act365-krx-percent-v2",
            "status": "historical_expiry_day",
            "product": "w2",
            "tradingDate": "2026-11-02",
            "asOf": {
              "date": "2026-11-02",
              "session": "regular",
              "sessionVerified": true,
              "time": null,
              "timePrecision": "daily-source-no-intraday-timestamp"
            },
            "expiryCode": "2611W1",
            "expiryDate": "2026-11-02",
            "nominalExpiryDate": "2026-11-02",
            "calendarDaysToExpiry": 0,
            "dte": 0,
            "businessDaysToExpiry": 0,
            "expiry": {
              "code": "2611W1",
              "actualDate": "2026-11-02",
              "nominalDate": "2026-11-02",
              "verified": true,
              "sources": [
                "KRX-product-rule+verified-opening-day-ledger"
              ],
              "calendarDaysToExpiry": 0,
              "tradingDaysToExpiry": 0,
              "weekdayEstimateToExpiry": 0,
              "lifecycle": "expires-on-as-of-date",
              "holidayRule": "following-opening-day"
            },
            "spot": 920.63,
            "spotUnit": "index-point",
            "annualRate": 0.03013,
            "callOpenInterest": 0,
            "putOpenInterest": 0,
            "putCallOpenInterestRatio": null,
            "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
            "iv": {
              "inputUnit": "percent",
              "conversionToDecimal": "raw / 100",
              "sources": [
                "KRX-screen-15011-product-side-average-percent"
              ],
              "scopes": [
                "product-all-expiries-average"
              ],
              "expirySpecific": false,
              "limitation": "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
            },
            "coverage": {
              "scope": "selected-expiry-all-observed-strikes",
              "completeness": "observed-source-inventory-not-independent-listing-audit",
              "inputRecordCount": 270,
              "observedContractCount": 270,
              "strikeCount": 135,
              "strikeMin": 732.5,
              "strikeMax": 1067.5,
              "callContractCount": 135,
              "putContractCount": 135,
              "pairedStrikeCount": 135,
              "missingCallStrikes": [],
              "missingPutStrikes": [],
              "singleSidedObservations": [],
              "missingSideMeaning": "not observed; not zero and not verified non-listing",
              "duplicateConflictCount": 0,
              "duplicateConflicts": [],
              "valuesConsistent": true,
              "excludedExplicitNightRecordCount": 0,
              "unverifiedSessionRecordCount": 0,
              "sessionSources": [
                "ISU_NM-explicit-session-marker"
              ]
            },
            "walls": {
              "fullChain": {
                "call": {
                  "strike": null,
                  "openInterest": 0,
                  "tiedStrikes": [],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": null,
                  "distanceFromSpotPercent": null,
                  "definition": "maximum observed open interest for this option right"
                },
                "put": {
                  "strike": null,
                  "openInterest": 0,
                  "tiedStrikes": [],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": null,
                  "distanceFromSpotPercent": null,
                  "definition": "maximum observed open interest for this option right"
                }
              }
            },
            "rawGex": {
              "value": null,
              "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
              "unit": "unscaled-contract-weighted-gamma-proxy",
              "contractMultiplierApplied": false,
              "dealerPositionKnown": false,
              "scope": "greek-calculation-window",
              "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님"
            },
            "gammaFlipProxyStrike": null,
            "gammaFlip": {
              "value": null,
              "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
            },
            "verifiedUrls": [
              "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
              "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
              "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
              "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
            ],
            "reasonCode": "expiry-day-daily-close-no-greeks",
            "reason": "만기일 종가 체인의 잔여기간은 0일입니다. OI 기록은 보존하고 그릭스는 산출하지 않습니다.",
            "greekTimeAssumption": {
              "calendarDays": 0,
              "timeYears": 0.0,
              "daysPerYear": 365,
              "basis": "actual-expiry-calendar-days",
              "minimumModelDays": 0
            },
            "read": {
              "status": "historical_expiry_day",
              "headline": "만기일 OI 기록입니다. 잔여기간 0일이므로 그릭스를 산출하지 않습니다.",
              "observations": [],
              "limitations": [
                "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
                "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
                "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
              ]
            }
          },
          "rollover": {
            "fromExpiryCode": "2611W1",
            "toExpiryCode": "2611W2",
            "reason": "as-of-date-expiry-closed",
            "nextContractObserved": true,
            "crossExpiryOiDeltaUsed": false
          },
          "aggregate": {
            "DEX": 1585.5994132595904,
            "GEX": -39.15698920591585,
            "Vanna_Exp": 80.70827684452658,
            "Theta_Exp": 11.58699975097011
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,020.0, 15계약입니다. 현물 종가보다 10.79% 높습니다.",
              "evidence": {
                "strike": 1020.0,
                "openInterest": 15,
                "tiedStrikes": [
                  1020.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 99.37,
                "distanceFromSpotPercent": 10.793695621476607,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 780.0, 11계약입니다. 현물 종가보다 15.28% 낮습니다.",
              "evidence": {
                "strike": 780.0,
                "openInterest": 11,
                "tiedStrikes": [
                  780.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -140.63,
                "distanceFromSpotPercent": -15.275409230635539,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 1.19배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 1.1891891891891893,
                "callOpenInterest": 37,
                "putOpenInterest": 44
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 -39.16입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": -39.15698920591585,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다.",
            "상품·콜/풋 평균 IV이며 만기·행사가별 IV 곡면이 아닙니다."
          ]
        },
        "investorFlow": {
          "tradingDate": "2026-11-02",
          "scope": "product-all-listed-expiries",
          "source": "KRX investor trading screen",
          "volumeUnit": "contracts",
          "amountUnit": "million-KRW",
          "amountPrecision": "rounded-source-million-KRW",
          "investors": {
            "institution": {
              "call": {
                "volume": {
                  "buy": 34837,
                  "sell": 43361,
                  "netBuy": -8524
                },
                "premiumAmountMillionWon": {
                  "buy": 4245,
                  "sell": 4315,
                  "netBuy": -70
                }
              },
              "put": {
                "volume": {
                  "buy": 22848,
                  "sell": 33871,
                  "netBuy": -11023
                },
                "premiumAmountMillionWon": {
                  "buy": 2935,
                  "sell": 2154,
                  "netBuy": 781
                }
              }
            },
            "individual": {
              "call": {
                "volume": {
                  "buy": 119779,
                  "sell": 109889,
                  "netBuy": 9890
                },
                "premiumAmountMillionWon": {
                  "buy": 38454,
                  "sell": 40486,
                  "netBuy": -2032
                }
              },
              "put": {
                "volume": {
                  "buy": 124300,
                  "sell": 99911,
                  "netBuy": 24389
                },
                "premiumAmountMillionWon": {
                  "buy": 22985,
                  "sell": 19026,
                  "netBuy": 3959
                }
              }
            },
            "foreigner": {
              "call": {
                "volume": {
                  "buy": 315355,
                  "sell": 316721,
                  "netBuy": -1366
                },
                "premiumAmountMillionWon": {
                  "buy": 107824,
                  "sell": 105721,
                  "netBuy": 2103
                }
              },
              "put": {
                "volume": {
                  "buy": 210001,
                  "sell": 223367,
                  "netBuy": -13366
                },
                "premiumAmountMillionWon": {
                  "buy": 48888,
                  "sell": 53628,
                  "netBuy": -4740
                }
              }
            }
          },
          "sourceFiles": [
            {
              "name": "거래량_코스피위클리(월)_20261102.csv",
              "sha256": "7e4fc3e859951ef458743e9b4e73af80d17dbafa6b5fc22362ed9019a8e9aa47"
            },
            {
              "name": "거래대금_코스피위클리(월)_20261102.csv",
              "sha256": "115730b58166c36a7250c64c0484c99745103d66992583accdc55f416b0b5615"
            }
          ]
        },
        "artifacts": {
          "narrative": "분석리포트_코스피위클리(월)_20261102.txt",
          "profile": "옵션분석_코스피위클리(월)_20261102.csv",
          "greeks": "옵션그릭스_코스피위클리(월)_20261102.csv"
        }
      },
      "SEC": {
        "name": "삼성전자",
        "sourceType": "stock",
        "symbol": "005930",
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "SEC",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "202611",
          "expiryDate": "2026-11-12",
          "nominalExpiryDate": "2026-11-12",
          "calendarDaysToExpiry": 10,
          "dte": 10,
          "businessDaysToExpiry": 8,
          "expiry": {
            "code": "202611",
            "actualDate": "2026-11-12",
            "nominalDate": "2026-11-12",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 10,
            "tradingDaysToExpiry": 8,
            "weekdayEstimateToExpiry": 8,
            "lifecycle": "active",
            "holidayRule": "preceding-opening-day"
          },
          "spot": 229000.0,
          "spotUnit": "KRW",
          "annualRate": 0.03013,
          "callOpenInterest": 27706,
          "putOpenInterest": 16684,
          "putCallOpenInterestRatio": 0.6021800332058038,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-IMP_VOLT-percent"
            ],
            "scopes": [
              "contract"
            ],
            "expirySpecific": true,
            "limitation": null
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 56,
            "observedContractCount": 56,
            "strikeCount": 28,
            "strikeMin": 155000.0,
            "strikeMax": 380000.0,
            "callContractCount": 28,
            "putContractCount": 28,
            "pairedStrikeCount": 28,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "KRX-single-stock-options-regular-only-spec"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 270000.0,
                "openInterest": 7928,
                "tiedStrikes": [
                  270000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 41000.0,
                "distanceFromSpotPercent": 17.903930131004376,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 200000.0,
                "openInterest": 2780,
                "tiedStrikes": [
                  200000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -29000.0,
                "distanceFromSpotPercent": -12.66375545851528,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 270000.0,
                "openInterest": 7928,
                "tiedStrikes": [
                  270000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 41000.0,
                "distanceFromSpotPercent": 17.903930131004376,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 200000.0,
                "openInterest": 2780,
                "tiedStrikes": [
                  200000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -29000.0,
                "distanceFromSpotPercent": -12.66375545851528,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": 1422.919110952364,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 38626.03641387586,
            "putNegativeComponent": -37203.11730292349
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 10,
            "timeYears": 0.0273972602739726,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 230000.0,
          "callWallStrike": 270000.0,
          "callWallOpenInterest": 7928,
          "putWallStrike": 200000.0,
          "putWallOpenInterest": 2780,
          "gammaWallStrike": 270000.0,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 240000.0,
          "topExposureStrikes": [
            270000.0,
            260000.0,
            240000.0,
            230000.0,
            220000.0
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 250000.0,
          "putDelta25Strike": 210000.0,
          "bandStart": 180000.0,
          "bandEnd": 300000.0,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 180000.0,
            "upperStrike": 300000.0,
            "padding": 5,
            "callDelta25Strike": 250000.0,
            "putDelta25Strike": 210000.0,
            "contractCount": 30,
            "strikeCount": 15,
            "observedContractCoverageRatio": 0.5357142857142857,
            "callOpenInterest": 23199,
            "putOpenInterest": 16099,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 270,000.0, 7,928계약입니다. 현물 종가보다 17.90% 높습니다.",
                "evidence": {
                  "strike": 270000.0,
                  "openInterest": 7928,
                  "tiedStrikes": [
                    270000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": 41000.0,
                  "distanceFromSpotPercent": 17.903930131004376,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 200,000.0, 2,780계약입니다. 현물 종가보다 12.66% 낮습니다.",
                "evidence": {
                  "strike": 200000.0,
                  "openInterest": 2780,
                  "tiedStrikes": [
                    200000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -29000.0,
                  "distanceFromSpotPercent": -12.66375545851528,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 0.60배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 0.6021800332058038,
                  "callOpenInterest": 27706,
                  "putOpenInterest": 16684
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 1,422.92입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": 1422.919110952364,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "202611",
            "previousTradingDate": "2026-10-30",
            "callObservedChange": 117,
            "putObservedChange": 1521,
            "matchedCallStrikes": 28,
            "matchedPutStrikes": 28,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "aggregate": {
            "DEX": 229002654.90394947,
            "GEX": 1422.919110952364,
            "Vanna_Exp": 1459233506.123567,
            "Theta_Exp": -106052.76334361831
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 270,000.0, 7,928계약입니다. 현물 종가보다 17.90% 높습니다.",
              "evidence": {
                "strike": 270000.0,
                "openInterest": 7928,
                "tiedStrikes": [
                  270000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 41000.0,
                "distanceFromSpotPercent": 17.903930131004376,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 200,000.0, 2,780계약입니다. 현물 종가보다 12.66% 낮습니다.",
              "evidence": {
                "strike": 200000.0,
                "openInterest": 2780,
                "tiedStrikes": [
                  200000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -29000.0,
                "distanceFromSpotPercent": -12.66375545851528,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 0.60배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 0.6021800332058038,
                "callOpenInterest": 27706,
                "putOpenInterest": 16684
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 1,422.92입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": 1422.919110952364,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
          ]
        },
        "investorFlow": null,
        "artifacts": {
          "narrative": "분석리포트_삼성전자_20261102.txt",
          "profile": "옵션분석_삼성전자_20261102.csv",
          "greeks": "옵션그릭스_삼성전자_20261102.csv"
        }
      },
      "SKH": {
        "name": "SK하이닉스",
        "sourceType": "stock",
        "symbol": "000660",
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "SKH",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "202611",
          "expiryDate": "2026-11-12",
          "nominalExpiryDate": "2026-11-12",
          "calendarDaysToExpiry": 10,
          "dte": 10,
          "businessDaysToExpiry": 8,
          "expiry": {
            "code": "202611",
            "actualDate": "2026-11-12",
            "nominalDate": "2026-11-12",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 10,
            "tradingDaysToExpiry": 8,
            "weekdayEstimateToExpiry": 8,
            "lifecycle": "active",
            "holidayRule": "preceding-opening-day"
          },
          "spot": 1472000.0,
          "spotUnit": "KRW",
          "annualRate": 0.03013,
          "callOpenInterest": 112566,
          "putOpenInterest": 4083,
          "putCallOpenInterestRatio": 0.03627205372847929,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-IMP_VOLT-percent"
            ],
            "scopes": [
              "contract"
            ],
            "expirySpecific": true,
            "limitation": null
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 78,
            "observedContractCount": 78,
            "strikeCount": 39,
            "strikeMin": 820000.0,
            "strikeMax": 2450000.0,
            "callContractCount": 39,
            "putContractCount": 39,
            "pairedStrikeCount": 39,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "KRX-single-stock-options-regular-only-spec"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 1050000.0,
                "openInterest": 78485,
                "tiedStrikes": [
                  1050000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -422000.0,
                "distanceFromSpotPercent": -28.668478260869566,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 1200000.0,
                "openInterest": 911,
                "tiedStrikes": [
                  1200000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -272000.0,
                "distanceFromSpotPercent": -18.478260869565222,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 1200000.0,
                "openInterest": 8460,
                "tiedStrikes": [
                  1200000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -272000.0,
                "distanceFromSpotPercent": -18.478260869565222,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 1200000.0,
                "openInterest": 911,
                "tiedStrikes": [
                  1200000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -272000.0,
                "distanceFromSpotPercent": -18.478260869565222,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": 12803.296092268101,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 17864.992864061824,
            "putNegativeComponent": -5061.6967717937205
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 10,
            "timeYears": 0.0273972602739726,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 1450000.0,
          "callWallStrike": 1200000.0,
          "callWallOpenInterest": 8460,
          "putWallStrike": 1200000.0,
          "putWallOpenInterest": 911,
          "gammaWallStrike": 1200000.0,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 1200000.0,
          "topExposureStrikes": [
            1200000.0,
            1500000.0,
            1450000.0,
            1400000.0,
            1700000.0
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 1600000.0,
          "putDelta25Strike": 1350000.0,
          "bandStart": 1100000.0,
          "bandEnd": 1850000.0,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 1100000.0,
            "upperStrike": 1850000.0,
            "padding": 5,
            "callDelta25Strike": 1600000.0,
            "putDelta25Strike": 1350000.0,
            "contractCount": 32,
            "strikeCount": 16,
            "observedContractCoverageRatio": 0.41025641025641024,
            "callOpenInterest": 14046,
            "putOpenInterest": 3603,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,050,000.0, 78,485계약입니다. 현물 종가보다 28.67% 낮습니다.",
                "evidence": {
                  "strike": 1050000.0,
                  "openInterest": 78485,
                  "tiedStrikes": [
                    1050000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -422000.0,
                  "distanceFromSpotPercent": -28.668478260869566,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 1,200,000.0, 911계약입니다. 현물 종가보다 18.48% 낮습니다.",
                "evidence": {
                  "strike": 1200000.0,
                  "openInterest": 911,
                  "tiedStrikes": [
                    1200000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -272000.0,
                  "distanceFromSpotPercent": -18.478260869565222,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 0.04배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 0.03627205372847929,
                  "callOpenInterest": 112566,
                  "putOpenInterest": 4083
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 12,803.30입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": 12803.296092268101,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "202611",
            "previousTradingDate": "2026-10-30",
            "callObservedChange": 15350,
            "putObservedChange": 41,
            "matchedCallStrikes": 39,
            "matchedPutStrikes": 39,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "aggregate": {
            "DEX": 1751507341.8312051,
            "GEX": 12803.296092268101,
            "Vanna_Exp": -1614661696.2573059,
            "Theta_Exp": -18132421.475649245
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,050,000.0, 78,485계약입니다. 현물 종가보다 28.67% 낮습니다.",
              "evidence": {
                "strike": 1050000.0,
                "openInterest": 78485,
                "tiedStrikes": [
                  1050000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -422000.0,
                "distanceFromSpotPercent": -28.668478260869566,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 1,200,000.0, 911계약입니다. 현물 종가보다 18.48% 낮습니다.",
              "evidence": {
                "strike": 1200000.0,
                "openInterest": 911,
                "tiedStrikes": [
                  1200000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -272000.0,
                "distanceFromSpotPercent": -18.478260869565222,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 0.04배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 0.03627205372847929,
                "callOpenInterest": 112566,
                "putOpenInterest": 4083
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 12,803.30입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": 12803.296092268101,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
          ]
        },
        "investorFlow": null,
        "artifacts": {
          "narrative": "분석리포트_SK하이닉스_20261102.txt",
          "profile": "옵션분석_SK하이닉스_20261102.csv",
          "greeks": "옵션그릭스_SK하이닉스_20261102.csv"
        }
      },
      "SEM": {
        "name": "삼성전기",
        "sourceType": "stock",
        "symbol": "009150",
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "SEM",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "202611",
          "expiryDate": "2026-11-12",
          "nominalExpiryDate": "2026-11-12",
          "calendarDaysToExpiry": 10,
          "dte": 10,
          "businessDaysToExpiry": 8,
          "expiry": {
            "code": "202611",
            "actualDate": "2026-11-12",
            "nominalDate": "2026-11-12",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 10,
            "tradingDaysToExpiry": 8,
            "weekdayEstimateToExpiry": 8,
            "lifecycle": "active",
            "holidayRule": "preceding-opening-day"
          },
          "spot": 1193000.0,
          "spotUnit": "KRW",
          "annualRate": 0.03013,
          "callOpenInterest": 5281,
          "putOpenInterest": 5964,
          "putCallOpenInterestRatio": 1.1293315659912895,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-IMP_VOLT-percent"
            ],
            "scopes": [
              "contract"
            ],
            "expirySpecific": true,
            "limitation": null
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 84,
            "observedContractCount": 84,
            "strikeCount": 42,
            "strikeMin": 700000.0,
            "strikeMax": 2300000.0,
            "callContractCount": 42,
            "putContractCount": 42,
            "pairedStrikeCount": 42,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "KRX-single-stock-options-regular-only-spec"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 1450000.0,
                "openInterest": 603,
                "tiedStrikes": [
                  1450000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 257000.0,
                "distanceFromSpotPercent": 21.54233025984913,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 1050000.0,
                "openInterest": 1440,
                "tiedStrikes": [
                  1050000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -143000.0,
                "distanceFromSpotPercent": -11.98658843252305,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 1450000.0,
                "openInterest": 603,
                "tiedStrikes": [
                  1450000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 257000.0,
                "distanceFromSpotPercent": 21.54233025984913,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 1050000.0,
                "openInterest": 1440,
                "tiedStrikes": [
                  1050000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -143000.0,
                "distanceFromSpotPercent": -11.98658843252305,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": -742.636586122191,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 7622.473751454353,
            "putNegativeComponent": -8365.110337576545
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 10,
            "timeYears": 0.0273972602739726,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 1200000.0,
          "callWallStrike": 1450000.0,
          "callWallOpenInterest": 603,
          "putWallStrike": 1050000.0,
          "putWallOpenInterest": 1440,
          "gammaWallStrike": 1050000.0,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 1150000.0,
          "topExposureStrikes": [
            1050000.0,
            1100000.0,
            1250000.0,
            980000.0,
            1000000.0
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 1350000.0,
          "putDelta25Strike": 1100000.0,
          "bandStart": 940000.0,
          "bandEnd": 1600000.0,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 940000.0,
            "upperStrike": 1600000.0,
            "padding": 5,
            "callDelta25Strike": 1350000.0,
            "putDelta25Strike": 1100000.0,
            "contractCount": 32,
            "strikeCount": 16,
            "observedContractCoverageRatio": 0.38095238095238093,
            "callOpenInterest": 4295,
            "putOpenInterest": 5447,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,450,000.0, 603계약입니다. 현물 종가보다 21.54% 높습니다.",
                "evidence": {
                  "strike": 1450000.0,
                  "openInterest": 603,
                  "tiedStrikes": [
                    1450000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": 257000.0,
                  "distanceFromSpotPercent": 21.54233025984913,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 1,050,000.0, 1,440계약입니다. 현물 종가보다 11.99% 낮습니다.",
                "evidence": {
                  "strike": 1050000.0,
                  "openInterest": 1440,
                  "tiedStrikes": [
                    1050000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -143000.0,
                  "distanceFromSpotPercent": -11.98658843252305,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 1.13배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 1.1293315659912895,
                  "callOpenInterest": 5281,
                  "putOpenInterest": 5964
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 -742.64입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": -742.636586122191,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "202611",
            "previousTradingDate": "2026-10-30",
            "callObservedChange": 99,
            "putObservedChange": -127,
            "matchedCallStrikes": 42,
            "matchedPutStrikes": 42,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "aggregate": {
            "DEX": 358794999.3236348,
            "GEX": -742.636586122191,
            "Vanna_Exp": 1418540935.2205875,
            "Theta_Exp": 874521.8659576686
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 1,450,000.0, 603계약입니다. 현물 종가보다 21.54% 높습니다.",
              "evidence": {
                "strike": 1450000.0,
                "openInterest": 603,
                "tiedStrikes": [
                  1450000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 257000.0,
                "distanceFromSpotPercent": 21.54233025984913,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 1,050,000.0, 1,440계약입니다. 현물 종가보다 11.99% 낮습니다.",
              "evidence": {
                "strike": 1050000.0,
                "openInterest": 1440,
                "tiedStrikes": [
                  1050000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -143000.0,
                "distanceFromSpotPercent": -11.98658843252305,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 1.13배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 1.1293315659912895,
                "callOpenInterest": 5281,
                "putOpenInterest": 5964
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 -742.64입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": -742.636586122191,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
          ]
        },
        "investorFlow": null,
        "artifacts": {
          "narrative": "분석리포트_삼성전기_20261102.txt",
          "profile": "옵션분석_삼성전기_20261102.csv",
          "greeks": "옵션그릭스_삼성전기_20261102.csv"
        }
      },
      "HMC": {
        "name": "현대차",
        "sourceType": "stock",
        "symbol": "005380",
        "status": "ready",
        "analytics": {
          "schemaVersion": "option-analytics-v2",
          "modelVersion": "black-scholes-act365-krx-percent-v2",
          "status": "ready",
          "product": "HMC",
          "tradingDate": "2026-11-02",
          "asOf": {
            "date": "2026-11-02",
            "session": "regular",
            "sessionVerified": true,
            "time": null,
            "timePrecision": "daily-source-no-intraday-timestamp"
          },
          "expiryCode": "202611",
          "expiryDate": "2026-11-12",
          "nominalExpiryDate": "2026-11-12",
          "calendarDaysToExpiry": 10,
          "dte": 10,
          "businessDaysToExpiry": 8,
          "expiry": {
            "code": "202611",
            "actualDate": "2026-11-12",
            "nominalDate": "2026-11-12",
            "verified": true,
            "sources": [
              "KRX-product-rule+verified-opening-day-ledger"
            ],
            "calendarDaysToExpiry": 10,
            "tradingDaysToExpiry": 8,
            "weekdayEstimateToExpiry": 8,
            "lifecycle": "active",
            "holidayRule": "preceding-opening-day"
          },
          "spot": 287000.0,
          "spotUnit": "KRW",
          "annualRate": 0.03013,
          "callOpenInterest": 18117,
          "putOpenInterest": 11140,
          "putCallOpenInterestRatio": 0.6148920903019264,
          "putCallOpenInterestDefinition": "front-expiry-full-chain-all-strikes-put-open-interest-divided-by-call-open-interest",
          "iv": {
            "inputUnit": "percent",
            "conversionToDecimal": "raw / 100",
            "sources": [
              "KRX-IMP_VOLT-percent"
            ],
            "scopes": [
              "contract"
            ],
            "expirySpecific": true,
            "limitation": null
          },
          "coverage": {
            "scope": "selected-expiry-all-observed-strikes",
            "completeness": "observed-source-inventory-not-independent-listing-audit",
            "inputRecordCount": 60,
            "observedContractCount": 60,
            "strikeCount": 30,
            "strikeMin": 240000.0,
            "strikeMax": 560000.0,
            "callContractCount": 30,
            "putContractCount": 30,
            "pairedStrikeCount": 30,
            "missingCallStrikes": [],
            "missingPutStrikes": [],
            "singleSidedObservations": [],
            "missingSideMeaning": "not observed; not zero and not verified non-listing",
            "duplicateConflictCount": 0,
            "duplicateConflicts": [],
            "valuesConsistent": true,
            "excludedExplicitNightRecordCount": 0,
            "unverifiedSessionRecordCount": 0,
            "sessionSources": [
              "KRX-single-stock-options-regular-only-spec"
            ]
          },
          "walls": {
            "fullChain": {
              "call": {
                "strike": 340000.0,
                "openInterest": 2975,
                "tiedStrikes": [
                  340000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 53000.0,
                "distanceFromSpotPercent": 18.466898954703836,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 270000.0,
                "openInterest": 1685,
                "tiedStrikes": [
                  270000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -17000.0,
                "distanceFromSpotPercent": -5.923344947735187,
                "definition": "maximum observed open interest for this option right"
              }
            },
            "greekWindow": {
              "call": {
                "strike": 340000.0,
                "openInterest": 2975,
                "tiedStrikes": [
                  340000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": 53000.0,
                "distanceFromSpotPercent": 18.466898954703836,
                "definition": "maximum observed open interest for this option right"
              },
              "put": {
                "strike": 270000.0,
                "openInterest": 1685,
                "tiedStrikes": [
                  270000.0
                ],
                "scope": "greek-calculation-window",
                "distanceFromSpot": -17000.0,
                "distanceFromSpotPercent": -5.923344947735187,
                "definition": "maximum observed open interest for this option right"
              }
            }
          },
          "rawGex": {
            "value": 7597.954010523914,
            "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
            "unit": "unscaled-contract-weighted-gamma-proxy",
            "contractMultiplierApplied": false,
            "dealerPositionKnown": false,
            "scope": "greek-calculation-window",
            "interpretation": "공개 OI에 콜+/풋− 가정을 적용한 상대 집중도; 원화 노출·딜러 감마·시장 방향이 아님",
            "callPositiveComponent": 34461.010251965025,
            "putNegativeComponent": -26863.05624144111
          },
          "gammaFlipProxyStrike": null,
          "gammaFlip": {
            "value": null,
            "reason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다."
          },
          "verifiedUrls": [
            "https://open.krx.co.kr/contents/OPN/01/01040202/OPN01040202.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040205/GLB0201040205.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201040402/GLB0201040402.jsp",
            "https://global.krx.co.kr/contents/GLB/02/0201/0201041003/Guide_to_Night_Session_in_KRX_Derivatives_Market.pdf"
          ],
          "greekTimeAssumption": {
            "calendarDays": 10,
            "timeYears": 0.0273972602739726,
            "daysPerYear": 365,
            "basis": "actual-expiry-calendar-days",
            "minimumModelDays": 0,
            "thetaUnit": "option-price-unit-per-calendar-day",
            "model": "Black-Scholes, continuous risk-free rate, dividend yield assumed zero"
          },
          "atmStrike": 290000.0,
          "callWallStrike": 340000.0,
          "callWallOpenInterest": 2975,
          "putWallStrike": 270000.0,
          "putWallOpenInterest": 1685,
          "gammaWallStrike": 270000.0,
          "gammaFlipUnavailableReason": "행사가별 순 GEX가 가장 작은 지점은 감마 플립이 아닙니다. 기초자산 가격별 포트폴리오 재평가와 실제 보유 방향이 없어 산출하지 않습니다.",
          "traditionalMaxPain": 310000.0,
          "topExposureStrikes": [
            270000.0,
            300000.0,
            310000.0,
            330000.0,
            320000.0
          ],
          "topExposureDefinition": "absolute-net-raw-GEX-by-strike-within-greek-window",
          "legacyWallScope": "greek-calculation-window",
          "traditionalMaxPainScope": "observed-greek-calculation-window-only",
          "callDelta25Strike": 310000.0,
          "putDelta25Strike": 270000.0,
          "bandStart": 240000.0,
          "bandEnd": 360000.0,
          "window": {
            "method": "observed-nearest-25-delta-call-put-with-strike-padding",
            "lowerStrike": 240000.0,
            "upperStrike": 360000.0,
            "padding": 5,
            "callDelta25Strike": 310000.0,
            "putDelta25Strike": 270000.0,
            "contractCount": 26,
            "strikeCount": 13,
            "observedContractCoverageRatio": 0.43333333333333335,
            "callOpenInterest": 15721,
            "putOpenInterest": 11140,
            "sameWindowRequiredForComparison": true
          },
          "read": {
            "status": "ready",
            "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
            "observations": [
              {
                "code": "call-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 340,000.0, 2,975계약입니다. 현물 종가보다 18.47% 높습니다.",
                "evidence": {
                  "strike": 340000.0,
                  "openInterest": 2975,
                  "tiedStrikes": [
                    340000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": 53000.0,
                  "distanceFromSpotPercent": 18.466898954703836,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-oi-wall",
                "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 270,000.0, 1,685계약입니다. 현물 종가보다 5.92% 낮습니다.",
                "evidence": {
                  "strike": 270000.0,
                  "openInterest": 1685,
                  "tiedStrikes": [
                    270000.0
                  ],
                  "scope": "selected-expiry-all-observed-strikes",
                  "distanceFromSpot": -17000.0,
                  "distanceFromSpotPercent": -5.923344947735187,
                  "definition": "maximum observed open interest for this option right"
                }
              },
              {
                "code": "put-call-oi",
                "text": "풋 OI/콜 OI는 0.61배입니다. 매수·매도 방향은 구분할 수 없습니다.",
                "evidence": {
                  "ratio": 0.6148920903019264,
                  "callOpenInterest": 18117,
                  "putOpenInterest": 11140
                }
              },
              {
                "code": "raw-gex",
                "text": "계산 구간의 raw GEX 합계는 7,597.95입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
                "evidence": {
                  "value": 7597.954010523914,
                  "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                  "scope": "greek-calculation-window"
                }
              }
            ],
            "limitations": [
              "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
              "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
            ]
          },
          "selectionPolicy": "daily-close-next-active-listed-expiry",
          "calendarEvidence": {
            "schemaVersion": "frs.option-calendar.v1",
            "source": "KIS chk-holiday via shared KoreaCalendar cache",
            "sourceEndpoint": "/uapi/domestic-stock/v1/quotations/chk-holiday",
            "sourceTrId": "CTCA0903R",
            "checkedAt": "2026-11-03T00:00:34+09:00",
            "checkedDate": "2026-11-03",
            "asOfDay": "2026-11-02",
            "coverageStart": "2026-09-06",
            "coverageEnd": "2026-12-26",
            "observedDayCount": 108,
            "coverageMayContainGaps": true,
            "weekendRuleSource": "https://global.krx.co.kr/contents/GLB/06/0602/0602010201/GLB0602010201T1.jsp",
            "sourcePath": "/opt/frs/.state/kospi-live/korea-calendar.json",
            "sourceSha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b",
            "readOnly": true,
            "sources": [
              {
                "source": "shared live calendar",
                "checkedAt": "2026-11-03T00:00:34+09:00",
                "path": "/opt/frs/.state/kospi-live/korea-calendar.json",
                "sha256": "48f652d486521bf8cb2be187db88dbeb0dcf5debc8725c0b88b87637a9b5a02b"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261001",
                "checkedAt": "2026-09-08T15:17:04+09:00",
                "dayCount": 24,
                "daysSha256": "64dd50cd93c6e57c3c9b3501eb3b172411d43a6139fe8d737bd2e94b27f1417a"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261105",
                "checkedAt": "2026-09-12T17:54:43+09:00",
                "dayCount": 24,
                "daysSha256": "856de5f653a1eb2374c7471882e097bcbf68f1a2bfde11d12e9cdc31ffec9061"
              },
              {
                "source": "supplementary KIS chk-holiday",
                "bassDate": "20261203",
                "checkedAt": "2026-10-13T08:14:53+09:00",
                "dayCount": 24,
                "daysSha256": "06992266b643de34166d06c345f1105151fc2b30fa83904f64553ea45a352a7e"
              },
              {
                "source": "option-only cache",
                "path": "/opt/frs/.state/option-calendar/kis-holidays.json",
                "sha256": "393e584c3416bfb1d33bad2ba1189b6b5f59ec01c99b7d26d36d4c2680c237f8"
              }
            ]
          },
          "openInterestChange": {
            "comparisonExpiryCode": "202611",
            "previousTradingDate": "2026-10-30",
            "callObservedChange": 905,
            "putObservedChange": 328,
            "matchedCallStrikes": 30,
            "matchedPutStrikes": 30,
            "scope": "same-expiry-and-right-matched-observed-strikes-only"
          },
          "aggregate": {
            "DEX": 272388858.8841857,
            "GEX": 7597.954010523914,
            "Vanna_Exp": 1117123834.958239,
            "Theta_Exp": -996665.5958005482
          }
        },
        "read": {
          "status": "ready",
          "headline": "OI가 모인 행사가와 현재 가격의 위치를 확인하세요.",
          "observations": [
            {
              "code": "call-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 콜 OI 최대는 340,000.0, 2,975계약입니다. 현물 종가보다 18.47% 높습니다.",
              "evidence": {
                "strike": 340000.0,
                "openInterest": 2975,
                "tiedStrikes": [
                  340000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": 53000.0,
                "distanceFromSpotPercent": 18.466898954703836,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-oi-wall",
              "text": "관측한 해당 만기 전체 행사가에서 풋 OI 최대는 270,000.0, 1,685계약입니다. 현물 종가보다 5.92% 낮습니다.",
              "evidence": {
                "strike": 270000.0,
                "openInterest": 1685,
                "tiedStrikes": [
                  270000.0
                ],
                "scope": "selected-expiry-all-observed-strikes",
                "distanceFromSpot": -17000.0,
                "distanceFromSpotPercent": -5.923344947735187,
                "definition": "maximum observed open interest for this option right"
              }
            },
            {
              "code": "put-call-oi",
              "text": "풋 OI/콜 OI는 0.61배입니다. 매수·매도 방향은 구분할 수 없습니다.",
              "evidence": {
                "ratio": 0.6148920903019264,
                "callOpenInterest": 18117,
                "putOpenInterest": 11140
              }
            },
            {
              "code": "raw-gex",
              "text": "계산 구간의 raw GEX 합계는 7,597.95입니다. 콜+/풋− 규칙으로 계산한 값이며 딜러 방향 신호가 아닙니다.",
              "evidence": {
                "value": 7597.954010523914,
                "definition": "gamma * open_interest * spot * (call:+1, put:-1)",
                "scope": "greek-calculation-window"
              }
            }
          ],
          "limitations": [
            "OI 집중은 실제 지지·저항, 가격 목표 또는 상승·하락 신호를 확정하지 않습니다.",
            "이번 관측과 전일의 만기·행사가 범위·모델 버전이 다르면 벽과 raw GEX를 직접 비교할 수 없습니다."
          ]
        },
        "investorFlow": null,
        "artifacts": {
          "narrative": "분석리포트_현대차_20261102.txt",
          "profile": "옵션분석_현대차_20261102.csv",
          "greeks": "옵션그릭스_현대차_20261102.csv"
        }
      }
    },
    "monthly": {
      "iv": null,
      "openInterest": null,
      "openInterestChange": null,
      "greeks": null,
      "putCallOiRatio": null,
      "expiryDate": "2026-11-12",
      "dteCalendarDays": 10,
      "foreignVolumeNet": null,
      "foreignPremiumNet": null,
      "status": "ready",
      "productRef": "200"
    },
    "mondayWeekly": {
      "iv": null,
      "openInterest": null,
      "openInterestChange": null,
      "greeks": null,
      "putCallOiRatio": null,
      "expiryDate": "2026-11-09",
      "dteCalendarDays": 7,
      "foreignVolumeNet": null,
      "foreignPremiumNet": null,
      "status": "ready",
      "productRef": "w2"
    },
    "thursdayWeekly": {
      "iv": null,
      "openInterest": null,
      "openInterestChange": null,
      "greeks": null,
      "putCallOiRatio": null,
      "expiryDate": "2026-11-05",
      "dteCalendarDays": 3,
      "foreignVolumeNet": null,
      "foreignPremiumNet": null,
      "status": "ready",
      "productRef": "w"
    }
  }
}