{
 "validation_errors": [],
 "doc_id": "jof_12734",
 "ontology_version": "1.0",
 "prompt_version": "1.0",
 "model": "claude-opus-5-5",
 "effort": "medium",
 "annotated_at": "2026-11-03T23:06:13+00:00",
 "source_sha256": "e94f1ac2e8a9a8db875d86ddfe1e17ed29c2bbf94dafac6e28594aebdd0c7db1",
 "parser": "pymupdf-jof-heuristics-1.3",
 "payload_chars": 16097,
 "usage": {
  "input": 5901,
  "output": 2185,
  "cache_read": 3968,
  "cache_write": 0
 },
 "cost_usd": 0.068098,
 "request_id": "req_011CggqGABeYE9wTYTzhNLup",
 "annotation": {
  "genre": "mixed_theory_empirical",
  "subfield": "asset_pricing",
  "subfield_secondary": "behavioral_finance",
  "primary_method": "reduced_form_regression",
  "identification": {
   "estimand": "Degree of expectation stickiness (lambda) in analyst forecasts, and how strongly profitability-anomaly returns vary with stickiness and with profit persistence",
   "strategy": "Model-derived tests. Forecast errors are regressed on forecast revisions (Coibion-Gorodnichenko style) to estimate stickiness. Forecast errors are regressed on profitability signals. Portfolios are double-sorted on firm-level stickiness or persistence and on the anomaly signal.",
   "key_assumptions": [
    "Analyst forecasts represent market participants' beliefs",
    "Profits are predictable from persistent public signals",
    "Sticky-expectation updating nests rational expectations"
   ],
   "threats_addressed": [
    "look-ahead bias in firm-level stickiness estimation",
    "mechanical correlation under rational-expectations null (simulations)",
    "past trend in profits as alternative explanation",
    "risk adjustment via factor models"
   ],
   "causal_language_strength": 2,
   "uses_causal_claim": false
  },
  "abstract_moves": {
   "question": {
    "present": true,
    "sentence_index": 0
   },
   "gap": {
    "present": false,
    "sentence_index": -1
   },
   "method": {
    "present": true,
    "sentence_index": 3
   },
   "results": {
    "present": true,
    "sentence_index": 3
   },
   "magnitude": {
    "present": false,
    "sentence_index": -1
   },
   "contribution": {
    "present": true,
    "sentence_index": 0
   }
  },
  "introduction": {
   "moves": [
    {
     "paragraph_index": 0,
     "move": "motivation"
    },
    {
     "paragraph_index": 0,
     "move": "related_literature_positioning"
    },
    {
     "paragraph_index": 1,
     "move": "motivation"
    },
    {
     "paragraph_index": 1,
     "move": "preview_of_approach"
    },
    {
     "paragraph_index": 1,
     "move": "mechanism_or_theory_sketch"
    },
    {
     "paragraph_index": 2,
     "move": "related_literature_positioning"
    },
    {
     "paragraph_index": 2,
     "move": "contribution_statement"
    }
   ],
   "contribution_paragraph_index": 2,
   "contribution_types": [
    "new_theory_or_model",
    "new_evidence",
    "new_data_or_measure"
   ],
   "roadmap_present": false,
   "literature_positioning_location": "inside_introduction"
  },
  "section_roles": [
   {
    "idx": 0,
    "role": "introduction"
   },
   {
    "idx": 1,
    "role": "theory"
   },
   {
    "idx": 2,
    "role": "data"
   },
   {
    "idx": 3,
    "role": "results"
   },
   {
    "idx": 4,
    "role": "robustness"
   },
   {
    "idx": 5,
    "role": "conclusion"
   },
   {
    "idx": 6,
    "role": "appendix"
   }
  ],
  "results_presentation": {
   "economic_significance_discussed": true,
   "statistical_significance_language": "unclear",
   "magnitude_statements_in_intro": false
  },
  "robustness": {
   "location": "main_text_section",
   "types": [
    "placebo",
    "alternative_specification",
    "other"
   ]
  },
  "tables": {
   "convention_notes": "Table notes define variables using model notation and describe the regression or sort procedure. Portfolio tables report excess returns and CAPM, three-factor and four-factor alphas, plus double-sorts. Units are partially stated in the notes (returns/alphas are given in some unit, but the excerpt is truncated).",
   "units_stated_in_notes": true,
   "standard_errors_description": "unclear"
  },
  "figures": {
   "uncertainty_shown": "unclear"
  },
  "conclusion": {
   "bounded_claims": true,
   "policy_implications": false,
   "open_questions": false,
   "restates_contribution": true
  },
  "hedging": {
   "level": "moderate",
   "typical_devices": [
    "conditional assumptions (assuming analyst forecasts are representative)",
    "'in line with' interpretations",
    "'suggests'"
   ]
  },
  "claim_evidence": [
   {
    "claim": "The profitability anomaly carries large economic significance: high Sharpe ratio, no crash risk, high capacity",
    "evidence_type": "prior_literature",
    "evidence_ref": "Novy-Marx (2013, 2015); Lemperiere et al. (2017); Landier, Simon, Thesmar (2015)"
   },
   {
    "claim": "Analyst expectations are sticky: forecast errors are positively related to past forecast revisions",
    "evidence_type": "table",
    "evidence_ref": "Table III, Figure 1"
   },
   {
    "claim": "Analysts are too pessimistic about future profits of high-profit firms",
    "evidence_type": "table",
    "evidence_ref": "Table VI, Figure 2"
   },
   {
    "claim": "The profitability anomaly is stronger for stocks followed by stickier analysts",
    "evidence_type": "table",
    "evidence_ref": "Table VII"
   },
   {
    "claim": "The profitability anomaly is stronger for firms with more persistent profits",
    "evidence_type": "table",
    "evidence_ref": "Table VIII"
   },
   {
    "claim": "Double-sort results are not mechanical under the rational-expectations null",
    "evidence_type": "figure",
    "evidence_ref": "Figure 3"
   },
   {
    "claim": "Less experienced and busier analysts have stickier beliefs, consistent with limited attention",
    "evidence_type": "table",
    "evidence_ref": "Table V"
   },
   {
    "claim": "In the sticky-belief model, past profits forecast future returns",
    "evidence_type": "equation_or_proof",
    "evidence_ref": "Section I; Appendix proofs"
   }
  ],
  "structural_summary": "The paper opens with the risk-versus-behavioral debate over return anomalies and narrows to the profitability anomaly. It builds a simple sticky-expectations pricing model borrowed from the macro information-rigidity literature, which yields testable propositions. The empirical part then follows the propositions in order. First, it measures stickiness from I/B/E/S analyst forecasts in pooled, analyst-level and firm-level estimates. Second, it shows that past profits predict forecast errors. Third, it double-sorts anomaly returns on stickiness and on profit persistence. A separate robustness section addresses look-ahead bias and uses simulations under the rational-expectations null. A brief conclusion restates the model, its predictions, and the limited-attention determinants of stickiness.",
  "writing_profile_keywords": [
   "proposition-driven testing",
   "behavioral asset pricing",
   "analyst forecasts",
   "portfolio sorts",
   "model-to-data mapping",
   "sticky expectations"
  ],
  "confidence": 0.8,
  "notes": "Section III is labeled 'theory' by the role rule but contains the empirical tests, so it is annotated as results. Significance-reporting conventions are not visible in the excerpts. The introduction excerpt is truncated and no roadmap is visible."
 },
 "deterministic_checks": {
  "roadmap_regex": false,
  "contribution_regex_in_intro": false,
  "magnitude_in_abstract": false,
  "abstract_n_sentences": 4,
  "intro_n_paragraphs": 3,
  "intro_n_words": 624,
  "causal_words_in_abstract": 0,
  "hedge_words_in_abstract": 0,
  "stars_mentioned": false,
  "clustered_se_mentioned": false,
  "internet_appendix_mentioned": false,
  "section_roles_rule": {
   "0": "introduction",
   "1": "theory",
   "2": "data",
   "3": "theory",
   "4": "robustness",
   "5": "conclusion",
   "6": "appendix"
  }
 },
 "schema_valid": true,
 "code_version": "feb6c9e-dirty"
}