{
 "concelho": "Trofa",
 "distrito": "Porto",
 "gerado_em": "2026-10-27",
 "grade": {
  "concelho": "Trofa",
  "distrito": "Porto",
  "celulas": 2,
  "geral": {
   "valor": 1923,
   "indicador": "P25 das transações (equivalente à mediana oficial)",
   "intervalo": {
    "p25": 1923,
    "p75": 2931
   },
   "media_mercado": 2428,
   "n_total": 1151,
   "n_classe": 2208,
   "n_soma_celulas": 2208,
   "n_celulas": 2,
   "fonte": "MicroSIR",
   "fontes": [
    "MicroSIR · grade 10 km"
   ],
   "raio_km": null,
   "meses": 24,
   "recolhido_em": "2026-10-27",
   "nivel": "concelho",
   "ambito": "concelho de Trofa",
   "classe": "toda a habitação",
   "estado_imovel": null,
   "aproximado": false,
   "nota_amostra": "n = transações da maior célula usada (as células sobrepõem-se; a soma contaria a mesma escritura várias vezes)"
  },
  "classes": [
   {
    "classe": "Apt. ≤ T1",
    "n": 371,
    "p25": 2507,
    "media": 3165,
    "p75": 3821,
    "fiavel": true
   },
   {
    "classe": "Apt. T2",
    "n": 545,
    "p25": 2050,
    "media": 2589,
    "p75": 3124,
    "fiavel": true
   },
   {
    "classe": "Apt. T3",
    "n": 391,
    "p25": 1803,
    "media": 2276,
    "p75": 2747,
    "fiavel": true
   },
   {
    "classe": "Apt. ≥ T4",
    "n": 42,
    "p25": 1766,
    "media": 2230,
    "p75": 2692,
    "fiavel": true
   },
   {
    "classe": "Mor. ≤ T3",
    "n": 670,
    "p25": 1693,
    "media": 2137,
    "p75": 2579,
    "fiavel": true
   },
   {
    "classe": "Mor. ≥ T4",
    "n": 189,
    "p25": 1509,
    "media": 1906,
    "p75": 2300,
    "fiavel": true
   }
  ],
  "estados": [
   {
    "estado": "Novos",
    "n": 722,
    "p25": 2050,
    "media": 2588,
    "p75": 3124,
    "fiavel": true
   },
   {
    "estado": "Usados",
    "n": 1486,
    "p25": 1861,
    "media": 2350,
    "p75": 2836,
    "fiavel": true
   }
  ]
 },
 "ine": {
  "Existentes": {
   "concelho": "Trofa",
   "distrito": "Porto",
   "periodo": "2.º Trimestre de 2026",
   "periodo_iso": "2026T2",
   "categoria": "Existentes",
   "eur_m2": 1928.0
  },
  "Novos": {
   "concelho": "Trofa",
   "distrito": "Porto",
   "periodo": "2.º Trimestre de 2026",
   "periodo_iso": "2026T2",
   "categoria": "Novos",
   "eur_m2": 2083.0
  },
  "Total": {
   "concelho": "Trofa",
   "distrito": "Porto",
   "periodo": "2.º Trimestre de 2026",
   "periodo_iso": "2026T2",
   "categoria": "Total",
   "eur_m2": 1959.0
  }
 },
 "ine_serie_valida": false,
 "indice": {
  "nome": "Trofa",
  "distrito": "Porto",
  "mes_iso": "2026-09",
  "eur_m2": 2370,
  "var_anual": 27.0,
  "fonte": "Índice PortalAR",
  "recolhido_em": "2026-10-27 16:49"
 },
 "serie_trimestral": {
  "serie": [
   {
    "trimestre": "2025T4",
    "trimestre_txt": "4.º trimestre de 2025",
    "eur_m2": 1928,
    "meses": 3,
    "incompleto": false,
    "var_trimestral_pct": null
   },
   {
    "trimestre": "2026T1",
    "trimestre_txt": "1.º trimestre de 2026",
    "eur_m2": 2122,
    "meses": 3,
    "incompleto": false,
    "var_trimestral_pct": 10.1
   },
   {
    "trimestre": "2026T2",
    "trimestre_txt": "2.º trimestre de 2026",
    "eur_m2": 2307,
    "meses": 3,
    "incompleto": false,
    "var_trimestral_pct": 8.7
   },
   {
    "trimestre": "2026T3",
    "trimestre_txt": "3.º trimestre de 2026",
    "eur_m2": 2342,
    "meses": 3,
    "incompleto": false,
    "var_trimestral_pct": 1.5
   }
  ],
  "fonte": "Índice PortalAR (preços pedidos)",
  "de": "2025-10",
  "ate": "2026-09",
  "n_meses": 12,
  "nota": "A série disponível tem 12 meses (4 trimestres); não há histórico mais longo carregado."
 },
 "risco_mercado": {
  "nivel": "positivo",
  "texto": "positivo",
  "variacao_12m_pct": 24.2,
  "oscilacao_mensal_pct": 2.51,
  "n_meses": 12,
  "fonte": "Índice PortalAR do concelho (preços pedidos)",
  "regra": "variação ≤ −5 % muito negativo; ≤ −1 % negativo; < 3 % neutro; < 8 % positivo; senão muito positivo; oscilação mensal > 1,5 % desce um nível"
 },
 "renda": {
  "concelho": "Trofa",
  "distrito": "Porto",
  "ano": 2025,
  "eur_m2_mes": 7.05
 },
 "yield_bruto_indicativo_pct": 4.4,
 "absorcao": {},
 "margem_negociacao": {},
 "tem_dados": true
}