# Get Morningstar Research Report

get_research_morningstar_report(code)

  • Description

    Get the Morningstar research report for the specified stock, including star rating, fair value, economic moat, uncertainty, financial health, capital allocation, bull/bear arguments, and analyst notes

  • Parameters

    Parameter Type Description
    code str Stock code
  • Return

    Parameter Type Description
    ret RET_CODE API call result
    data dict If ret == RET_OK, returns Morningstar research report data dict
    str If ret != RET_OK, returns error description
    • The returned dict contains the following fields:

      Field Type Description
      rating_type MorningstarRatingType Rating type
      star_rating int Morningstar star rating
      star_update_time int Star rating update timestamp
      star_update_time_str str Star rating update date
      fair_value float Fair value
      fair_value_content dict Fair value analysis, see StringWithUpdateTime field table
      economic_moat_label str Economic moat rating
      economic_moat_content dict Economic moat analysis, see StringWithUpdateTime field table
      uncertainty_label str Uncertainty rating
      uncertainty_content dict Uncertainty analysis, see StringWithUpdateTime field table
      financial_health_label str Financial health rating
      financial_health_content dict Financial health analysis, see StringWithUpdateTime field table
      analyst_report_by_line list Analyst byline list
      analyst_report_update_time int Analyst report update timestamp
      analyst_report_update_time_str str Analyst report update date
      bull_say list Bull arguments list, each item see StringWithUpdateTime field table
      bear_say list Bear arguments list, each item see StringWithUpdateTime field table
      capital_allocation_label str Capital allocation rating
      capital_allocation_content dict Capital allocation analysis, see StringWithUpdateTime field table
      analyst_note_title dict Analyst note title, see StringWithUpdateTime field table
      analyst_note_content dict Analyst note content, see StringWithUpdateTime field table
      investment_thesis_content dict Investment thesis, see StringWithUpdateTime field table
      fundamentals_content dict Fundamentals report, see StringWithUpdateTime field table
      valuation_content dict Valuation report, see StringWithUpdateTime field table
      pdf_url str PDF report download URL
    • StringWithUpdateTime fields (nested text structure):

      Field Type Description
      context str Text content
      update_time int Update timestamp
      update_time_str str Update date
  • Example

import json
from futu import *
quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)

ret, data = quote_ctx.get_research_morningstar_report("HK.00700")
if ret == RET_OK:
    print(json.dumps(data, indent=2, ensure_ascii=False))
else:
    print('error:', data)
quote_ctx.close()
1
2
3
4
5
6
7
8
9
10
  • Output
{
  "rating_type": 2,
  "star_rating": 4,
  "star_update_time": 1778257800,
  "star_update_time_str": "2026-05-09",
  "fair_value": 800.0,
  "fair_value_content": {
    "context": "Our fair value estimate for Tencent is HKD 800 per share. About 85% of our valuation comes from Tencent’s core business, while ...
    "update_time": 1755138060,
    "update_time_str": "2025-08-14"
  },
  "economic_moat_label": "Wide",
  "economic_moat_content": {
    "context": "Tencent's wide moat is primarily based on network effects around its massive user base. In addition, Tencent possesses ...
    "update_time": 1766457150,
    "update_time_str": "2025-12-23"
  },
  "uncertainty_label": "High",
  "uncertainty_content": {
    "context": "Our Morningstar Uncertainty Rating for Tencent is High due to regulatory risks and competitive intensity across...
    "update_time": 1766457180,
    "update_time_str": "2025-12-23"
  },
  //...
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

Restrictions

  • Maximum 30 requests per 30 seconds.
  • Supports common stocks and REITs.