{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "stock-valuation-snapshot-v1.0.0",
"title": "股票估值标准快照",
"type": "object",
"required": ["snapshot_id", "meta", "market", "financials", "balance_sheet", "valuation", "institutions", "sources"],
"properties": {
"snapshot_id": {"type": "string", "minLength": 1},
"meta": {
"type": "object",
"required": ["company", "code", "market", "as_of_date", "currency", "report_period_end", "latest_operating_info_date"],
"properties": {
"company": {"type": "string"},
"code": {"type": "string"},
"market": {"type": "string"},
"as_of_date": {"type": "string", "format": "date"},
"currency": {"type": "string"},
"report_period_end": {"type": "string", "format": "date"},
"latest_operating_info_date": {"type": "string", "format": "date"}
},
"additionalProperties": true
},
"market": {
"type": "object",
"required": ["price", "price_type", "price_timestamp", "diluted_shares", "shares_date"],
"properties": {
"price": {"type": "number", "exclusiveMinimum": 0},
"price_type": {"type": "string"},
"price_timestamp": {"type": "string"},
"diluted_shares": {"type": "number", "exclusiveMinimum": 0},
"shares_date": {"type": "string", "format": "date"},
"platform_market_cap": {"type": ["number", "null"]}
}
},
"financials": {
"type": "object",
"required": ["annual", "current_cumulative", "prior_year_same_period"],
"properties": {
"annual": {"$ref": "#/$defs/financialPeriod"},
"current_cumulative": {"$ref": "#/$defs/financialPeriod"},
"prior_year_same_period": {"$ref": "#/$defs/financialPeriod"}
}
},
"balance_sheet": {
"type": "object",
"required": ["period_end", "equity", "cash_available", "non_operating_financial_assets", "interest_bearing_debt", "minority_interest"],
"properties": {
"period_end": {"type": "string", "format": "date"},
"equity": {"type": "number"},
"cash_available": {"type": "number", "minimum": 0},
"non_operating_financial_assets": {"type": "number", "minimum": 0},
"interest_bearing_debt": {"type": "number", "minimum": 0},
"minority_interest": {"type": "number", "minimum": 0}
}
},
"normalization": {
"type": "object",
"properties": {
"adjustments": {
"type": "array",
"items": {
"type": "object",
"required": ["description", "amount"],
"properties": {
"description": {"type": "string"},
"amount": {"type": "number", "description": "对可持续利润的带符号影响;增加为正,减少为负"},
"basis": {"type": "string"}
}
}
}
}
},
"valuation": {
"type": "object",
"required": ["scenarios", "reverse_pe_multiples", "holding_period"],
"properties": {
"scenarios": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/scenario"}},
"reverse_pe_multiples": {"type": "array", "minItems": 1, "items": {"type": "number", "exclusiveMinimum": 0}},
"exit_pe_multiples": {"type": "array", "items": {"type": "number", "exclusiveMinimum": 0}},
"holding_period": {
"type": "object",
"required": ["years", "required_return", "cumulative_dividend_per_share"],
"properties": {
"years": {"type": "integer", "minimum": 1},
"required_return": {"type": "number", "exclusiveMinimum": -1},
"cumulative_dividend_per_share": {"type": "number", "minimum": 0}
}
}
}
},
"institutions": {
"type": "object",
"required": ["coverage_status", "forecasts"],
"properties": {
"coverage_status": {"enum": ["available", "no_usable_forecasts"]},
"forecasts": {"type": "array", "items": {"$ref": "#/$defs/institutionForecast"}}
}
},
"sources": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/source"}},
"analysis": {"type": "object"}
},
"$defs": {
"financialPeriod": {
"type": "object",
"required": ["period_end", "revenue", "attributable_profit", "deduct_profit"],
"properties": {
"period_end": {"type": "string", "format": "date"},
"basis": {"type": "string"},
"revenue": {"type": "number"},
"attributable_profit": {"type": "number"},
"deduct_profit": {"type": "number"},
"cfo": {"type": ["number", "null"]},
"capex": {"type": ["number", "null"], "minimum": 0}
}
},
"scenario": {
"type": "object",
"required": ["name", "role", "method", "multiple_low", "multiple_high"],
"properties": {
"name": {"type": "string"},
"role": {"enum": ["pessimistic", "base", "optimistic", "custom"]},
"method": {"enum": ["pe", "pb"]},
"profit_low": {"type": "number"},
"profit_high": {"type": "number"},
"multiple_low": {"type": "number"},
"multiple_high": {"type": "number"},
"assumption": {"type": "string"}
}
},
"institutionForecast": {
"type": "object",
"required": ["institution", "report_date", "estimates"],
"properties": {
"institution": {"type": "string"},
"report_date": {"type": "string", "format": "date"},
"include": {"type": "boolean"},
"core_assumption": {"type": "string"},
"source_id": {"type": "string"},
"estimates": {
"type": "object",
"additionalProperties": {
"type": "object",
"required": ["profit", "eps"],
"properties": {"profit": {"type": "number"}, "eps": {"type": "number"}}
}
}
}
},
"source": {
"type": "object",
"required": ["id", "source_type", "title", "publish_date", "supports"],
"properties": {
"id": {"type": "string"},
"source_type": {"type": "string"},
"title": {"type": "string"},
"publish_date": {"type": "string", "format": "date"},
"period_end": {"type": ["string", "null"]},
"url": {"type": ["string", "null"]},
"supports": {"type": "array", "minItems": 1, "items": {"type": "string"}},
"revision_status": {"enum": ["current", "superseded", "unknown"]},
"superseded_by": {"type": ["string", "null"]}
}
}
}
}