Morningstar Advisor Workstation
Morningstar Advisor Workstation 是一个只读集成,让顾问基于客户持仓生成组合分析报告。与把数据同步进RightCapital 的 Morningstar Office 不同,这个集成是把数据推送出去到 Morningstar 用于生成报告。
| 属性 | 值 |
|---|---|
| 集成类型 | 报告生成(只读) |
| 鉴权方式 | SAML 2.0,配合 X509 证书 |
| 数据流向 | RightCapital → Morningstar(仅出站) |
| 数据同步 | 无 —— 按需生成报告 |
| 开发者 | Qianwei Hao |
Morningstar Advisor Workstation 是什么?
Section titled “Morningstar Advisor Workstation 是什么?”Morningstar Advisor Workstation 是 Morningstar 出品的专业组合分析平台,提供深入的投资分析工具,其中最著名的是 Portfolio X-Ray,可以揭示跨资产类别、行业、地区的隐藏风险暴露。
RightCapital 的这个集成,让顾问可以直接用 RightCapital 里存的持仓数据生成这些报告,不需要在 Morningstar 里手动重新录入持仓。
| 报告 | 说明 |
|---|---|
| Portfolio Snapshot | 全面的组合分析:构成、投资风格、行业权重、地区风险暴露、业绩指标 |
| Portfolio X-Ray | 精简版组合策略概览 —— 客户沟通中最常用的报告 |
| Investment Detail | 按持仓逐条展示、区分投资类型的明细信息 |
| Intersection Report | 展示最大的 50 笔持仓,并分析它们在多只基金间的重叠情况 |
| Snapshot & Intersection | 上面两种报告的组合版 |
| Comparison | 对比多个组合(后端支持,但 UI 未开放) |
X-Ray 分析维度
Section titled “X-Ray 分析维度”X-Ray 报告在以下维度提供分析:
- Asset Class(资产类别) —— 股票、债券、现金等的分布
- Stock Sector(行业) —— 12 个行业的集中度分布
- World Regions(地区) —— 地理风险暴露
- Fees & Expenses(费用) —— 成本分析
- Stock Stats(股票统计指标) —— 关键比率(P/E、P/B 等)
- Equity Style Box(股票风格箱) —— 大/中/小盘 × 价值/平衡/成长 矩阵
- Fixed-Income Style Box(固收风格箱) —— 利率敏感度 × 信用等级
- Holdings Breakdown(持仓明细) —— 单个证券的贡献分析
sequenceDiagram
participant A as 顾问
participant RC as RightCapital
participant M as Morningstar
A->>RC: 选择账户,选定报告类型
RC->>RC: 从数据库提取持仓
RC->>RC: 过滤:市值非零的 Morningstar 证券
RC->>RC: 生成带持仓 XML 的已签名 SAML2 断言
RC->>A: 返回 SAML response + Morningstar 跳转地址
A->>M: 把 SAMLResponse POST 到 Morningstar
M->>M: 校验 SAML,解析持仓数据
M->>A: 在新浏览器窗口渲染报告
- Morningstar 不存储任何数据 —— 每次生成报告时按需发送持仓
- SAML2 鉴权 —— 已签名的断言,有效期 3 分钟
- 持仓过滤规则 —— 只包含满足以下条件的证券:
- 来源为 Morningstar(有
secid) - 市值非零
- symbol 合法有效
- 来源为 Morningstar(有
- 已订阅 Morningstar Advisor Workstation
- 来自 Morningstar 的三项凭证:
- Institution ID —— 在 Help > Support 中查找
- Login ID —— 你的用户名
- Access Code —— 在 File > User Profile > Integrations 中查找
- 登录 顾问端(Advisor Portal)
- 进入 Integrations
- 选择 Morningstar Advisor Workstation
- 输入上述三项凭证
- 点击 Connect
- 在客户端(Client Portal)打开客户的 Plan
- 进入 Report 菜单
- 选择 “Morningstar Advisor Workstation report”
- 选定报告类型(Snapshot、X-Ray 等)
- 选择要包含的账户
- 点击 Open report
- 报告会在 Morningstar 站点的新浏览器窗口中打开
| 组件 | 路径 |
|---|---|
| 后端集成 | retail-api/app/Integrations/MorningstarAdvisorWorkstation/ |
| Connector(SAML) | Connector.php |
| Report Handler | Report.php |
| XML 报文生成 | XmlHelper.php |
| Controller | Controller.php |
| 前端 OAuth | frontend/app/src/application/advisor/integrations/services/oauth-connect/morningstar-advisor-workstation.service.ts |
| 前端报告 UI | frontend/app/src/application/client/plan/report/integration-report/morningstar-advisor-workstation.component.tsx |
| 帮助文案 | frontend/app/src/application/advisor/integrations/detail-view/components/help-text/morningstar-advisor-workstation.component.tsx |
config/integrations.php 里的环境变量:
'morningstar_advisor_workstation' => [ 'saml2_institution_id' => env('MORNINGSTAR_ADVISOR_WORKSTATION_SAML2_INSTITUTION_ID'), 'saml2_investment_detail_report_endpoint' => env('MORNINGSTAR_ADVISOR_WORKSTATION_SAML2_INVESTMENT_DETAIL_REPORT_ENDPOINT'), 'saml2_issuer' => env('MORNINGSTAR_ADVISOR_WORKSTATION_SAML2_ISSUER'), 'saml2_login_endpoint' => env('MORNINGSTAR_ADVISOR_WORKSTATION_SAML2_LOGIN_ENDPOINT'), 'saml2_private_key' => env('MORNINGSTAR_ADVISOR_WORKSTATION_SAML2_PRIVATE_KEY'),]证书位置:certs/integrations/morningstar_advisor_workstation/saml2_idp_cert.crt
SAML 断言属性
Section titled “SAML 断言属性”InstId - 顾问的 Morningstar Institution IDLoginId - 顾问的 Morningstar Login IDAccessCode - 顾问的 Morningstar Access CodeUserStatus - "1"(active)ClientSide - "1"Role - "AD"(Advisor)Application - "PortReport20"Payload - 带持仓数据的 XML(非 Investment Detail 报告时使用)| 用途 | URL 模式 |
|---|---|
| 登录 / 报告 | {login_endpoint}/SamlLogin.aspx |
| 校验 | {login_endpoint}/SamlIntegrationValidation.aspx |
| Investment Detail | {detail_endpoint}/OpenGlobalHypoReportEngine.aspx |
报告类型映射
Section titled “报告类型映射”public const array REPORT_TYPES = [ 'comparison' => ['title' => 'Portfolio Comparison', 'value' => 5], 'intersection' => ['title' => 'Stock Intersection', 'value' => 3], 'investment_detail' => ['title' => 'Investment Detail Report', 'value' => 10], 'snapshot' => ['title' => 'Snapshot Report', 'value' => 2], 'snapshot_and_intersection' => ['title' => 'Snapshot and Stock Intersection', 'value' => 1], 'x_ray' => ['title' => 'X-Ray Report', 'value' => 4],];与 Morningstar Office 的对比
Section titled “与 Morningstar Office 的对比”| 维度 | Morningstar Office | Morningstar Advisor Workstation |
|---|---|---|
| 用途 | 数据导入 | 报告生成 |
| 数据流向 | 入站(M* → RC) | 出站(RC → M*) |
| 鉴权方式 | OAuth 2.0 | SAML 2.0 |
| 同步方式 | 每晚自动 | 仅按需 |
| 是否存储数据 | 是(家庭、账户、持仓) | 否 |
| 状态 | 已于 2026/2/28 下线 | 仍在使用 |
没有可用持仓
Section titled “没有可用持仓”现象:提示 “Reports can only be generated if there are holdings in at least one investment account”
原因:选中账户里没有满足条件的持仓(来源为 Morningstar 且市值非零)
解决方法:确认账户里有已匹配到 Morningstar 证券的持仓
SAML 校验失败
Section titled “SAML 校验失败”现象:报告加载失败
原因:凭证无效或证书过期
解决方法:核实 Institution ID、Login ID、Access Code 是否正确;检查证书是否过期
报告打开但内容为空
Section titled “报告打开但内容为空”现象:Morningstar 页面能打开但没有数据
原因:Morningstar 没能正确解析持仓 XML
解决方法:检查日志里的 XML 生成错误;核实证券 symbol 是否合法
- Morningstar Office —— 数据同步集成(即将下线)
- Morningstar 证券主数据 —— 证券数据来源
- RightCapital Help Center - Morningstar Advisor Workstation