JupyterLab / Notebook
适合数据分析、课堂展示、逐步运行和图文混排。代码、结果、图表和解释可以放在同一个 Notebook 里。
Python在金融中的应用 · 第一部分
写代码不只是“打开一个软件输入命令”。需要知道代码写在哪里、怎样运行、结果在哪里、报错怎么看、AI 什么时候能帮忙。本节把 IDE、Jupyter Notebook、`.ipynb` 与 `.py` 的关系讲清楚。
IDE 可以理解为写代码的工作台。普通文本编辑器只能写字,IDE 除了写代码,还能运行代码、管理文件、打开终端、显示报错、调试变量,有些 IDE 还可以接入 AI 辅助解释和修改代码。
适合数据分析、课堂展示、逐步运行和图文混排。代码、结果、图表和解释可以放在同一个 Notebook 里。
更强调 AI 辅助编程。适合让 AI 帮助解释报错、检查代码、提出修改建议,但不能让 AI 替你完成理解。
适合较完整的代码项目。它们也能配合 Jupyter Notebook 使用,但需要正确选择 Python 环境和 Notebook 内核。
本课程不是要求只能用某一个软件,而是统一使用 `.ipynb` 作为课程文件格式。IDE 可以选择 Trae、VS Code、PyCharm 或 JupyterLab,只要能稳定打开和运行 Notebook。
很多同学大一学习 Python 时使用的是 `.py` 文件。那种方式非常适合训练语法、条件语句、循环、函数和程序结构。本课程进入金融数据分析后,会统一使用 `.ipynb`,原因是 Notebook 更适合把“金融问题—代码—结果—解释”放在一起展示。
| 比较项目 | .ipynb Notebook | .py Python 脚本 |
|---|---|---|
| 文件本质 | Notebook 文档,由多个 cell 组成,可以包含代码、Markdown 说明、公式、表格和图形输出。 | 普通文本代码文件,主要保存 Python 代码。 |
| 运行方式 | 可以一个 cell 一个 cell 运行,适合逐步检查每一步结果。 | 通常从上到下整体运行,适合较完整的程序或项目脚本。 |
| 课堂展示 | 更方便展示修改过程、输出结果和文字解释。 | 代码结构清楚,但结果和说明通常要另外呈现。 |
| 金融数据分析 | 适合边读取数据、边观察表格、边画图、边写解释。 | 适合把已经成熟的分析流程整理成可重复执行的脚本。 |
| 本课程定位 | 主格式。课程材料、练习和作业尽量使用 Notebook。 | 不会放弃。后续可以把成熟 Notebook 整理成 `.py` 脚本。 |
要注意:Notebook 可以分段运行,所以也容易出现“上面某个 cell 没运行,下面结果却看起来正常”的问题。提交作业前,需要从头重新运行一遍,确认结果可以完整复现。
金融数据分析不是只交一段代码。更重要的是说明:为什么这样定义变量,数据从哪里来,单位是什么,结果是否合理,图表说明了什么。Notebook 适合把这些内容放在一个文件中。
官方 Jupyter 文档也把 Notebook 描述为由代码 cell、Markdown cell、输出等组成的文档。这个结构正好适合课程中逐步展示金融分析过程。
建议每一个 Notebook 都按固定顺序组织。这样老师、同学和以后的自己都能看懂。
# Markdown cell
## 小微信贷预期收益计算
本 Notebook 用一个简单例子说明贷款金额、利率、违约概率和违约损失率如何影响预期收益。
# Code cell
loan_amount = 100000
annual_rate = 0.06
default_probability = 0.08
loss_given_default = 0.45
interest_income = loan_amount * annual_rate
expected_loss = loan_amount * default_probability * loss_given_default
expected_profit = interest_income - expected_loss
print("利息收入:", interest_income)
print("预期损失:", expected_loss)
print("预期收益:", expected_profit)
# Markdown cell
结果解释:
这只是一个非常简化的计算。真实授信还需要考虑客户现金流、行业周期、担保方式和普惠金融服务目标。
这个结构比只写代码更适合学习。因为金融分析最终不是让电脑输出一个数字,而是让人理解这个数字为什么出现、能不能相信、可以怎样用于判断。
下面把从安装软件到运行课程 Notebook 的路径完整走一遍。每一步都要先确认当前状态,再进入下一步;遇到按钮名称略有变化时,以官方页面和你电脑上显示的文字为准。
https://www.trae.cn/download 下载国内版客户端;不要混用 Trae CN 与 Trae AI 的安装包。下载完成后可以在“关于”或应用菜单中确认版本。Trae 的产品名称和下载入口可能随版本调整,因此页面中的官方链接比第三方教程更可靠。
官方快速入门文档:TraeWork Web 与桌面端快速入门。如果官方文档改版,优先查看其中关于工作模式切换和桌面端下载的最新说明。
Jupyter,不要只输入“Notebook”。找到名称为 Jupyter 的扩展,发布者应为 ms-toolsai。它是微软维护的扩展,提供 Notebook 单元格、内核选择、运行、输出和调试支持。ms-python 的 Python 扩展。Jupyter 插件负责 Notebook 界面,Python 扩展负责解释器、环境发现和调试;两者不是同一个插件。官方扩展页:Jupyter Extension for Visual Studio Code。官方说明特别强调:扩展本身不是 Python 内核,仍然需要一个安装了 Jupyter / ipykernel 的 Python 环境。
xxx.ipynb 并选择 Python / conda 内核
python-finance。建议在其中建立 notebooks、data、figures 三个子文件夹,避免把数据、代码和图片混在一起。02-small-loan-demo.ipynb。不要使用 新建文本文档.ipynb.txt 这种双重扩展名;文件名最后必须真正以 .ipynb 结尾。Python Finance;如果使用 conda,选择相应的 conda 环境。内核就是“真正执行每个代码 cell 的 Python 进程”,不是文件名,也不是 AI 助手。官方资料:conda 环境管理文档;如果选择完整发行版,可查看 Anaconda 官方下载页。
conda create -n python-finance python=3.11
conda activate python-finance
conda install jupyter ipykernel pandas numpy matplotlib
看到命令行前面出现 (python-finance),通常表示已经进入这个环境。之后再启动 Trae 并选择同名内核。python -m pip install --upgrade pip
python -m pip install jupyter ipykernel
python -m ipykernel install --user \
--name python-finance \
--display-name "Python Finance"
macOS / Linux 常用 python3;Windows 如果 python 不可用,可以尝试 py。安装后回到 Notebook,重新打开“选择内核”。import sys
print(sys.executable)
print(sys.version)
输出路径应该指向你刚刚选择的环境。若路径来自另一个环境,说明内核选错了,即使代码暂时能运行,也可能在导入 Pandas、NumPy 时遇到版本问题。不要一打开 Notebook 就运行很大的项目。先用一个可以手算的小微信贷例子验证“内核—代码—输出”链路:
# Code cell 1:输入假设
loan_amount = 100_000 # 贷款本金,元
annual_rate = 0.06 # 年利率 6%
default_probability = 0.08 # 违约概率 8%
loss_given_default = 0.45 # 违约损失率 45%
# Code cell 2:计算预期结果
interest_income = loan_amount * annual_rate
expected_loss = loan_amount * default_probability * loss_given_default
expected_profit = interest_income - expected_loss
print(f"利息收入:{interest_income:,.2f} 元")
print(f"预期损失:{expected_loss:,.2f} 元")
print(f"预期收益:{expected_profit:,.2f} 元")
如果先运行了第二个 cell,再修改第一个 cell,却没有重新运行第一个 cell,Notebook 里的变量可能仍然是旧值。提交或展示前,使用“全部运行”,确认从头到尾都能复现。
不同版本可能把侧边栏显示为“豆包 AI 助手”“TRAE”或“AI 助手”。它们都可以作为伴学工具:解释报错、指出可能原因、生成一小段预处理代码,但不能代替你判断数据是否合理。
请先解释这个错误为什么发生,再给出最小修改。逐行说明修改后的代码,并提醒我需要检查哪些金融含义。不要重写整个 Notebook。请为一个包含 loan_id、income、loan_amount、default_flag 的小微信贷表生成 Pandas 缺失值检查代码。先说明每一步目的,不要虚构列名,不要删除原始数据。不要使用“帮我完成作业”作为唯一指令,也不要提交自己无法解释的 AI 代码。AI 最有价值的地方是帮助你定位问题、比较方案和练习表达,而不是让你跳过思考。
| 现象 | 优先检查 | 处理方式 |
|---|---|---|
| 扩展商店搜不到 Jupyter | 是否在 Code / IDE 模式;网络是否可访问扩展市场 | 重新进入扩展视图,搜索完整名称;必要时查看官方 Marketplace 页面,确认扩展标识为 ms-toolsai.jupyter。 |
| Notebook 没有“选择内核” | 文件是否真的是 .ipynb;Jupyter 和 Python 扩展是否启用 | 关闭并重新打开文件;确认没有保存成 .ipynb.txt。 |
| 内核列表为空 | Python 环境中是否安装 ipykernel | 在目标环境执行安装命令,再刷新内核列表;不要把包装到另一个环境。 |
ModuleNotFoundError | 当前 Notebook 内核和安装依赖的环境是否相同 | 先运行 sys.executable,再在同一环境中使用 python -m pip install 包名。 |
| AI 生成的代码能运行但结果奇怪 | 列名、单位、筛选条件和数据时间范围 | 回到金融问题本身,打印中间结果并用手算一个小样本;不要只根据“没有报错”判断正确。 |
如果电脑环境始终配置不顺利,可以把天池 Notebook 当作在线备用方案。它的使用方式接近 Google Colab:浏览器打开一个云端 Notebook,在服务器上运行 Python,结果保存到在线项目中。它适合快速体验,不作为本课程的首选开发环境。
两者都属于云端 Notebook,均可以在浏览器中编写代码、运行 cell 和查看图形。天池更容易接触中文数据科学社区、阿里生态和天池数据集;Colab 更常用于 Google 账号体系和海外教程。可以把天池理解为 Colab 的一个国内替代选择,但不要把二者的包版本、文件路径和算力配置想当然地当成完全相同。
.ipynb 或导出 HTML。只保存在云端的文件不等于永久备份,课程作业还应保留一份本地副本。sys.version、pd.__version__ 和当前工作目录。官方入口:天池 Notebook;平台介绍与资源说明可参考天池课程首页。页面按钮、免费资源政策和实例时长可能调整,实际使用时以登录后的官方界面为准。
IDE 中接入 AI 后,最容易犯的错误是直接让 AI 写完整答案。正确做法是先自己写 Notebook 的问题、变量和最小代码,再请 AI 帮助解释报错和给出最小修改。
“我在 Notebook 中运行这个 cell 报错。请先解释错误原因,再给出最小修改,并说明修改后每一行代码的作用。最后提醒我需要检查哪些金融含义。”
“帮我完成这个作业。”这种问法会让学习过程被跳过。即使得到了能运行的代码,也不代表真正掌握。
AI 给出的代码必须自己运行、自己解释、自己检查单位和结果范围。不能复制一段看不懂的代码提交。
用自己的话说明 `.ipynb` 和 `.py` 的区别,并解释为什么本课程更适合使用 `.ipynb`。
为“小微信贷预期收益计算”设计一个 Notebook,大致写出 Markdown cell 和 Code cell 的顺序。
故意打乱一个 Notebook 的运行顺序,观察变量未定义或结果不更新的问题,再从头重新运行。
把“代码错了,帮我改”改写成包含目标、代码、报错和金融含义检查要求的问题。