毕业项目⑥:可视化——一张图讲完整个故事
我的掌握程度:
先掌握这个答案
双图规范:上图:双净值曲线(归一=1起),图例、标题(含区间)、y轴百分比;下图:回撤序列填充图(fill_between到0),峰谷标记点。专业细节:中文字体设置(plt.rcParams['font.sans-serif'])、网格淡色、峰谷日期注释、图片保存300dpi。产出:research_report.png,直接可放进笔记/简历。
先读结论,再核对下方使用边界;数字例题为教学情景,涉及实际行情与规则时请核对原始来源。
从理解到使用
本阶段实战方法 · 把行情数字变成可比较的收益
看股票、基金或策略业绩时,先对齐本金、起止日期、现金流与费用。
- 选一个固定区间,记录期初价值、期末价值、分红、出入金和交易费用。
- 没有中途出入金时,用(期末价值+已取出分红-期初价值-费用)÷期初价值计算收益;有出入金时先区分时间加权与资金加权。
- 用相同区间的基准作比较,同时记录最大亏损;不要单凭一次盈利评价能力。
使用边界
- 不同期限的收益不可直接排名;年化只是换算,不是未来收益承诺。
- 模拟价格不是实时行情。普通股票交易手数、T+1和费用应按具体市场规则核对。
背景 · 从一个困惑说起
数据卡有了四行数字,但给人看的是图。专业研究报告的标配双图:①净值对比图(股票vs基准,归一化);②回撤填充图(水下曲线)。这两张图放出去,研究的故事线一眼可读。
由此产生的问题
标准双图怎么画?matplotlib的哪些细节让图从「能看」变「专业」?
核心概念
双图规范:上图:双净值曲线(归一=1起),图例、标题(含区间)、y轴百分比;下图:回撤序列填充图(fill_between到0),峰谷标记点。专业细节:中文字体设置(plt.rcParams['font.sans-serif'])、网格淡色、峰谷日期注释、图片保存300dpi。产出:research_report.png,直接可放进笔记/简历。
为什么需要它
①沟通即价值:研究的受众(同事/面试官/未来的自己)先看图再看数字;图传达「结构与故事」,数字提供「精度与证据」;②自检功能:画图常能暴露计算bug(净值曲线出现尖刺=数据错误;回撤图形状怪异=对齐问题)——可视化是最便宜的质检;③审美即严谨:坐标、图例、单位齐全的图=研究者靠谱程度的第一印象。
实际应用场景
图进README,形成「数据卡+双图+结论段」的报告三件套——这正是机构晨报/研报的微缩版。
与之前知识的联系
q-034/035看图的体验反转:现在你从「读图者」变成「造图者」。最后一题(097)为项目画上句点。
⚠ 常见误解
- 图是装饰,数字才重要:人类对图形的带宽远大于表格;图错的报告没人看数字
- matplotlib默认样式凑合用:默认无中文字体(中文方块乱码)——一行rcParams设置解决,但不设置就是灾难现场
- 图画完不检查:尖刺、断线、负净值都应在图上一眼识别——先自检再发布
🛠 本题实践任务
画出你的双图(净值对比+回撤填充),自查三条:中文正常显示?峰谷有标注?图例标题齐全?保存png进项目目录。
💡 提示(先自己想5分钟再看)
Windows中文字体用SimHei/Microsoft YaHei;Mac用Arial Unicode MS。
✅ 验收标准
research_report.png产出并通过三条自查。项目进度6/7——你的研究第一次「看得见」。
在你的浏览器内运行。首次需联网下载 Python;支持标准库和 Pyodide 提供的 NumPy、pandas 等包。行情抓取、系统文件访问和部分第三方库请在本地环境运行。输出自检仅比对结果关键词,不代替逻辑审查。
Python · 独立工作线程 · 执行限时10秒
🤖 AI导师
导师会先检查你的前置知识(净值曲线、回撤序列),再用案例、公式和代码帮助理解。此功能需要先启用服务。