{"schema_version":"gendangzou-capabilities-v1","contract_version":"gendangzou-api-v2","capability":{"id":"etf.relation.changes","domain":"etf","title":"查询 ETF 板块暴露变化","summary":"返回关系创建、状态跨档、显著暴露变化和失效事件，并说明变化来源。","intents":["inspect_etf_exposure_changes","audit_etf_exposure"],"path":"/api/gendangzou/etf-sector-relations/{relation_id}/changes","snapshot_bound":true,"compact_supported":true,"method":"GET","detail_url":"/api/gendangzou/capabilities/etf.relation.changes","parameters":["relation_id","snapshot_id","as_of","page","page_size","detail","include"],"response_fields":["snapshot","relation_id","items","pagination"],"related_capabilities":["etf.relation.evidence","etf.relation.contributions","etf.sectors.list"],"freshness":"daily_official_pcf_snapshot","pagination":true,"documentation_url":"https://docs.mobiusquant.ai/zh/gendangzou/capabilities/etf.relation.changes","agent_hints":{"reuse_snapshot_id_for_follow_up":true,"fetch_evidence_on_demand":true,"recommended_detail":"compact","compact_scope":"snapshot_context","recommended_page_size":10},"request":{"parameters":[{"name":"relation_id","in":"path","required":true,"schema":{"maxLength":128,"minLength":12,"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"default":1,"description":"1-based page number","minimum":1,"type":"integer"}},{"name":"page_size","in":"query","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"name":"snapshot_id","in":"query","required":false,"schema":{"anyOf":[{"maxLength":128,"minLength":8,"type":"string"},{"type":"null"}],"default":null}},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}],"default":null,"description":"Return the latest snapshot on or before this date"}},{"name":"detail","in":"query","required":false,"schema":{"default":"full","description":"full preserves the complete web response; compact returns the stable snapshot reference intended for agents","enum":["full","compact"],"type":"string"}},{"name":"include","in":"query","required":false,"schema":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated compact snapshot expansions: sector_dynamics,coverage"}}]},"response":{"model":"EtfRelationChangeResponse","top_level_fields":[{"name":"snapshot","required":true},{"name":"relation_id","required":true},{"name":"items","required":true},{"name":"pagination","required":true}],"schema":{"properties":{"snapshot":{"anyOf":[{"$ref":"#/$defs/SnapshotContext"},{"$ref":"#/$defs/SnapshotReference"}],"title":"Snapshot"},"relation_id":{"description":"ETF 与板块关系的稳定标识。","title":"Relation Id","type":"string"},"items":{"items":{"$ref":"#/$defs/EtfRelationChangeEvent"},"title":"Items","type":"array"},"pagination":{"$ref":"#/$defs/Pagination"}},"required":["snapshot","relation_id","items","pagination"],"title":"EtfRelationChangeResponse","type":"object","$defs":{"SnapshotReference":{"additionalProperties":false,"properties":{"snapshot_id":{"title":"Snapshot Id","type":"string"},"namespace":{"title":"Namespace","type":"string"},"as_of":{"title":"As Of","type":"string"},"release_id":{"title":"Release Id","type":"string"},"taxonomy_version":{"title":"Taxonomy Version","type":"string"},"heat_run_id":{"title":"Heat Run Id","type":"string"},"mapping_run_id":{"title":"Mapping Run Id","type":"string"},"etf_run_id":{"default":"","title":"Etf Run Id","type":"string"},"market_run_id":{"default":"","title":"Market Run Id","type":"string"},"market_trade_date":{"default":"","title":"Market Trade Date","type":"string"},"market_status":{"default":"unavailable","enum":["fresh","carried_forward","reaggregated","unavailable"],"title":"Market Status","type":"string"},"market_age_days":{"default":0,"title":"Market Age Days","type":"integer"},"market_mapping_reaggregated":{"default":false,"title":"Market Mapping Reaggregated","type":"boolean"},"published_at":{"title":"Published At","type":"string"},"publication_mode":{"enum":["published","derived"],"title":"Publication Mode","type":"string"},"data_status":{"const":"complete","default":"complete","title":"Data Status","type":"string"},"response_profile":{"const":"compact","default":"compact","title":"Response Profile","type":"string"},"sector_dynamics":{"anyOf":[{"$ref":"#/$defs/SnapshotSectorDynamics"},{"type":"null"}],"default":null},"coverage":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"default":null,"title":"Coverage"}},"required":["snapshot_id","namespace","as_of","release_id","taxonomy_version","heat_run_id","mapping_run_id","published_at","publication_mode"],"title":"SnapshotReference","type":"object"},"SnapshotSectorDynamics":{"additionalProperties":false,"properties":{"schema_version":{"title":"Schema Version","type":"string"},"dynamics_run_id":{"title":"Dynamics Run Id","type":"string"},"as_of":{"title":"As Of","type":"string"},"trade_date":{"title":"Trade Date","type":"string"},"formula_version":{"title":"Formula Version","type":"string"},"market_context":{"additionalProperties":true,"title":"Market Context","type":"object"},"summary":{"additionalProperties":true,"title":"Summary","type":"object"},"historical_readiness":{"additionalProperties":true,"title":"Historical Readiness","type":"object"},"items":{"items":{"$ref":"#/$defs/SectorAnomalySummary"},"title":"Items","type":"array"},"links":{"items":{"$ref":"#/$defs/SectorLinkageSummary"},"title":"Links","type":"array"}},"required":["schema_version","dynamics_run_id","as_of","trade_date","formula_version"],"title":"SnapshotSectorDynamics","type":"object"},"SectorLinkageSummary":{"additionalProperties":false,"properties":{"source_sector_id":{"title":"Source Sector Id","type":"string"},"source_sector_name":{"title":"Source Sector Name","type":"string"},"target_sector_id":{"title":"Target Sector Id","type":"string"},"target_sector_name":{"title":"Target Sector Name","type":"string"},"relation_kind":{"enum":["hierarchy","taxonomy_semantic"],"title":"Relation Kind","type":"string"},"relation":{"title":"Relation","type":"string"},"pattern":{"enum":["same_day_resonance","same_day_divergence","hierarchy_divergence","structural_overlap"],"title":"Pattern","type":"string"},"linkage_score":{"title":"Linkage Score","type":"number"},"confidence":{"title":"Confidence","type":"number"},"stock_overlap":{"title":"Stock Overlap","type":"number"},"independent_signal":{"title":"Independent Signal","type":"boolean"},"rationale":{"default":"","title":"Rationale","type":"string"}},"required":["source_sector_id","source_sector_name","target_sector_id","target_sector_name","relation_kind","relation","pattern","linkage_score","confidence","stock_overlap","independent_signal"],"title":"SectorLinkageSummary","type":"object"},"SectorAnomalySummary":{"additionalProperties":false,"properties":{"sector_id":{"title":"Sector Id","type":"string"},"sector_name":{"title":"Sector Name","type":"string"},"layer":{"title":"Layer","type":"string"},"relative_direction":{"enum":["stronger","weaker","neutral"],"title":"Relative Direction","type":"string"},"absolute_direction":{"enum":["positive","negative","neutral"],"title":"Absolute Direction","type":"string"},"anomaly_type":{"enum":["counter_trend","relative_resilience","relative_weakness","broad_internal_move","flow_price_divergence","concentrated_move","cross_section_outlier"],"title":"Anomaly Type","type":"string"},"anomaly_score":{"title":"Anomaly Score","type":"number"},"attention_score":{"title":"Attention Score","type":"number"},"internal_confirmation":{"title":"Internal Confirmation","type":"number"},"linkage_score":{"title":"Linkage Score","type":"number"},"linkage_confirmation":{"title":"Linkage Confirmation","type":"number"},"confidence":{"title":"Confidence","type":"number"},"sector_return":{"title":"Sector Return","type":"number"},"market_return":{"title":"Market Return","type":"number"},"excess_return":{"title":"Excess Return","type":"number"},"sector_breadth":{"title":"Sector Breadth","type":"number"},"market_breadth":{"title":"Market Breadth","type":"number"},"breadth_gap":{"title":"Breadth Gap","type":"number"},"effective_sample_size":{"title":"Effective Sample Size","type":"number"},"top1_weight":{"title":"Top1 Weight","type":"number"},"covered_stock_count":{"title":"Covered Stock Count","type":"integer"},"explanation":{"default":"","title":"Explanation","type":"string"},"linked_sectors":{"items":{"additionalProperties":true,"type":"object"},"title":"Linked Sectors","type":"array"}},"required":["sector_id","sector_name","layer","relative_direction","absolute_direction","anomaly_type","anomaly_score","attention_score","internal_confirmation","linkage_score","linkage_confirmation","confidence","sector_return","market_return","excess_return","sector_breadth","market_breadth","breadth_gap","effective_sample_size","top1_weight","covered_stock_count"],"title":"SectorAnomalySummary","type":"object"},"SnapshotContext":{"additionalProperties":false,"properties":{"snapshot_id":{"title":"Snapshot Id","type":"string"},"namespace":{"title":"Namespace","type":"string"},"as_of":{"title":"As Of","type":"string"},"release_id":{"title":"Release Id","type":"string"},"taxonomy_version":{"title":"Taxonomy Version","type":"string"},"heat_run_id":{"title":"Heat Run Id","type":"string"},"mapping_run_id":{"title":"Mapping Run Id","type":"string"},"etf_run_id":{"default":"","title":"Etf Run Id","type":"string"},"market_run_id":{"default":"","title":"Market Run Id","type":"string"},"market_trade_date":{"default":"","title":"Market Trade Date","type":"string"},"market_status":{"default":"unavailable","enum":["fresh","carried_forward","reaggregated","unavailable"],"title":"Market Status","type":"string"},"market_age_days":{"default":0,"title":"Market Age Days","type":"integer"},"market_mapping_reaggregated":{"default":false,"title":"Market Mapping Reaggregated","type":"boolean"},"sector_dynamics":{"anyOf":[{"$ref":"#/$defs/SnapshotSectorDynamics"},{"type":"null"}],"default":null},"published_at":{"title":"Published At","type":"string"},"publication_mode":{"enum":["published","derived"],"title":"Publication Mode","type":"string"},"data_status":{"const":"complete","default":"complete","title":"Data Status","type":"string"},"coverage":{"additionalProperties":{"type":"integer"},"title":"Coverage","type":"object"}},"required":["snapshot_id","namespace","as_of","release_id","taxonomy_version","heat_run_id","mapping_run_id","published_at","publication_mode"],"title":"SnapshotContext","type":"object"},"EtfRelationChangeEvent":{"additionalProperties":false,"properties":{"event_id":{"description":"ETF 板块关系变化事件的稳定标识。","title":"Event Id","type":"string"},"run_id":{"description":"产生该事件的完整数据运行标识。","title":"Run Id","type":"string"},"relation_id":{"description":"ETF 与板块关系的稳定标识。","title":"Relation Id","type":"string"},"as_of":{"title":"As Of","type":"string"},"etf_key":{"title":"Etf Key","type":"string"},"sector_id":{"title":"Sector Id","type":"string"},"event_type":{"description":"关系创建、状态跨档、显著暴露变化或失效。","enum":["created","status_changed","exposure_changed","expired"],"title":"Event Type","type":"string"},"previous_status":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"变化前的关系状态；首次创建时为空。","title":"Previous Status"},"new_status":{"description":"变化后的关系状态。","title":"New Status","type":"string"},"previous_exposure":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"变化前的调整暴露；首次创建时为空。","title":"Previous Exposure"},"new_exposure":{"description":"变化后的调整暴露。","title":"New Exposure","type":"number"},"exposure_delta":{"description":"调整暴露的有符号变化量。","title":"Exposure Delta","type":"number"},"absolute_delta":{"description":"调整暴露变化量的绝对值。","title":"Absolute Delta","type":"number"},"relative_delta":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"相对前值的暴露变化比例；前值为零时为空。","title":"Relative Delta"},"previous_basket_id":{"default":"","description":"变化前使用的 ETF 篮子标识。","title":"Previous Basket Id","type":"string"},"new_basket_id":{"default":"","description":"变化后使用的 ETF 篮子标识。","title":"New Basket Id","type":"string"},"previous_mapping_run_id":{"default":"","description":"变化前使用的公司板块映射运行标识。","title":"Previous Mapping Run Id","type":"string"},"new_mapping_run_id":{"default":"","description":"变化后使用的公司板块映射运行标识。","title":"New Mapping Run Id","type":"string"},"reason":{"description":"形成该变化事件的机器可读原因。","title":"Reason","type":"string"},"drivers":{"description":"导致关系变化的篮子、公司映射或阈值因素。","items":{"type":"string"},"title":"Drivers","type":"array"},"significant_exposure_change":{"default":false,"description":"暴露变化是否达到显著变化记录阈值。","title":"Significant Exposure Change","type":"boolean"},"created_at":{"description":"变化事件的入库时间。","title":"Created At","type":"string"}},"required":["event_id","run_id","relation_id","as_of","etf_key","sector_id","event_type","new_status","new_exposure","exposure_delta","absolute_delta","reason","created_at"],"title":"EtfRelationChangeEvent","type":"object"},"Pagination":{"properties":{"page":{"title":"Page","type":"integer"},"page_size":{"title":"Page Size","type":"integer"},"total":{"title":"Total","type":"integer"},"pages":{"title":"Pages","type":"integer"}},"required":["page","page_size","total","pages"],"title":"Pagination","type":"object"}}}}}}