
示例工程教程数据分析数据可视化金融科技【免费下载链接】python-trainingPython training for business analysts and traders项目地址https://gitcode.com/gh_mirrors/py/python-training点击查看免费下载导读本指南基于 JPMorgan python-training 开源仓库系统解读一套专为**业务分析师business analysts与交易员traders**设计的 Python 入门培训课程它以数值计算numerical computing与数据可视化data visualization为核心用 Jupyter Notebook 为载体从零基础语法一路推进到期权定价、信用评分模型与收益率曲线三维可视化。读完本文你将掌握该课程的整体知识地图、Binder 一键运行环境与本地复现方法并能直接复刻其中的金融量化示例代码。课程定位为分析师与交易员量身定制的入门课根据仓库根目录的 README.md该课程的官方定位是面向 JPMorgan 业务分析师和交易员以及特定客户的 Python 培训。与面向专业程序员的系统性编程课不同README 明确说明它不是完整的计算机科学或编程课程而是一次激励式的演示motivational demonstration——证明即使没有正式编程背景的人也能掌握相对复杂的技术主题。课程的边界被刻意收敛在数值计算与数据可视化两个领域这与金融业务分析师的日常工作数据清洗、指标计算、图表汇报高度吻合。培训交付方式README 声明该培训以线下面对面in-person方式进行由 J.P. Morgan 的技术专家与交易员共同授课对于有意向的机构客户需要联系对应的 J.P. Morgan 团队获取参与方式。因此本仓库同时具备两种使用形态课堂配套跟随讲师按 notebook 顺序逐节练习自学资料任何人可通过 Binder 云实例零安装启动全部课程材料。零配置运行环境Binder 云实例与本地复现README 的核心操作入口是Launch Cloud Instance启动按钮点击后将在 Binder 平台上基于仓库主分支构建环境直接进入JupyterLab界面。这一体验由仓库根目录下 binder/ 目录中的三份配置文件驱动它们同时是本地复现该环境的权威依据。依赖清单解析binder/requirements.txtrequirements.txt 精确声明了课程所需的全部 Python 依赖既覆盖了数值计算与可视化的主干也包含了金融与 Web 场景的工具依赖包版本约束在课程中的用途可从 notebook 代码印证numpy无固定版本数值数组运算全课程基础pandas1read_csv读取航线/机场数据、DataFrame 操作matplotlib无固定版本基础绘图%matplotlib inline内嵌图表seaborn无固定版本在 matplotlib 之上封装的美观统计绘图见 7_advanced_plotting.ipynbplotly无固定版本跨平台交互式绘图含 3D 图表见 9_3d_plotting.ipynbscipy无固定版本科学计算扩展requests无固定版本调用 Web API 获取数据见 4_webapi.ipynbbeautifulsoup4无固定版本网页解析/抓取配合 5_website.ipynb 主题ipympl无固定版本matplotlib 的 Jupyter 交互后端ipywidgets无固定版本notebook 交互控件perspective-python2.5数据透视/交互式表格组件pyarrow无固定版本Apache Arrow 列式数据格式支持jupyterlab3.5,4Notebook 运行环境JupyterLab 3.xjupyterlab-templates无固定版本JupyterLab 模板扩展本地复现环境的命令仓库为只读仅需在本地安装依赖# 使用 Python 3.9见 binder/runtime.txt pip install -r binder/requirements.txt运行时锁定binder/runtime.txtruntime.txt 内容为python-3.9即 Binder 构建时固定使用Python 3.9。这意味着课程代码按 Python 3.9 生态验证本地复现时建议使用同一大版本避免语法或第三方库兼容差异。启动钩子binder/postBuildpostBuild 是 Binder 构建完成后执行的 Shell 脚本内容如下#!/bin/bash jupyter serverextension enable --py jupyterlab jupyter serverextension enable --py jupyterlab_templates它显式启用了jupyterlab与jupyterlab_templates两个服务器扩展保证 JupyterLab 与模板功能在云环境中可用——这是 Binder 会话内开箱即用的最后一环。课程内容路线图十个 Notebook 构建的进阶链路课程主体位于 notebooks/ 目录按数字序号构成一条从工具使用到金融实战的递进路线。以下按主题归纳并附上各文件源码中可验证的核心代码。Notebook 0科学计算最佳实践0_best_practices.ipynb 以 2014 年 PLOS 发表的《Best Practices for Scientific Computing》为蓝本提炼出贯穿全课程的八条准则Write programs for people, not computers.代码写给人看而非机器Let the computer do the work.让计算机干活别手算Make incremental changes.小步增量修改Dont repeat yourself (or others).不重复自己或他人DRY 原则Plan for mistakes.为错误做预案Optimize software only after it works correctly.先正确后优化Document design and purpose, not mechanics.文档记录设计意图而非实现细节Collaborate.协作该 Notebook 以 slideshow 幻灯片形式组织说明它同时承担线下授课的讲义职能。Notebook 1Jupyter 架构与 Python 语法入门1_basic.ipynb 先从工具本身讲起Jupyter 由三部分组成——**内核kernel**负责执行代码、**Web 服务器webserver**负责在代码与内核间传递结果、Notebook 应用负责呈现输出并支持代码共享并强调 Jupyter Notebook 并不只支持 Python。随后进入 Python 实操核心示例为a 3 b 4 a b # 整数加法 a / b # 真除法结果为浮点 a // b # 整除关键教学点是动态类型——无需声明类型通过type()随时查看对象类型print(type(a)) # class int c a / b type(c) # class float a some string type(a) # class str同时介绍 cell 的概念以及Ctrl Enter执行单元代码的快捷键并演示变量可被随时重定义、重新执行 cell 的交互式思维。Notebook 2金融实战一——ATMF 跨式期权定价2_straddle.ipynb 是课程的第一个金融模型用简单运算近似计算平值远期ATMF跨式期权straddle的价格。其核心近似公式为$$ STRADDLE_{ATMF} \approx \frac{2}{\sqrt{2\pi}} \times F \times \sigma \sqrt{T} $$其中 $\sigma$ 为隐含波动率$T$ 为到期时间$F$ 为标的远期价格示例中假设 $F1$价格可等比缩放。教学上先演示手写公式的痛点再引出函数封装来消除重复、降低出错率vol 0.2 time 1. def straddlePricer( vol, time ): return 2. * ( ( 1. / ( 2 * 3.14 ) ** 0.5 ) * vol * time ** 0.5 ) print( straddlePricer( 0.2, 1.0 ) ) # 位置参数 print( straddlePricer( time1.0, vol0.2 ) ) # 关键字参数顺序无关随后通过默认参数把time与vol变为可选参数逐步引出参数默认值、函数复用等基础工程能力——这正是把复杂主题做得人人可上手的课程设计哲学的直接体现。Notebook 3金融实战二——文件读取与缺失数据处理3_flights.ipynb 转入真实数据操作。首先用os库确认数据文件存在from os import listdir from os.path import join listdir(.) # 当前目录 listdir(../data) # 数据目录随后依赖 pandas 内置的read_csv读取课程数据并借dir(pd)结合正则re.compile(rread)探索 pandas 的全部读取函数族import pandas as pd routes pd.read_csv(join(.., data, routes.csv)) airports pd.read_csv(join(.., data, airports.csv)) routes.head() # 预览前几行 routes.info() # 列类型与非空计数通过info()观察到缺失数据后引入missingno库对数据完整性做可视化体检这是数据清洗环节的标准动作。Notebook 4Web API 数据获取4_webapi.ipynb 讲授Web 2.0时代最核心的取数方式——公共 Web API。课程以 Coindesk 的比特币历史收盘价 API 为例示范requests json datetime的完整调用链import datetime import pandas as pd import json import requests coindeskURL https://api.coindesk.com/v1/bpi/historical/close.json? start datetime.date(2019, 1 ,1) end datetime.date(2019, 7, 1) url f{coindeskURL}start{start:%Y-%m-%d}end{end:%Y-%m-%d} print(fHitting this url:{url}) result requests.get(url) result.content值得留意的是该 Notebook 还专门提醒 API 使用者要做负责任、有礼貌的互联网公民——程序化访问网站须节制、守规范并且强调不同 API 返回结构各异可以用浏览器直接访问 URL 来先观察响应结构再把 JSON 轻松转换为 DataFrame。Notebook 5网页抓取5_website.ipynb 解决没有 API 也要取数的场景并非所有网站都提供结构化接口此时利用pandas 内置的 HTML 表格解析能力直接抓取网页中的表格示例为维基百科的联合国会员国列表把 HTML 表格一步转换为 DataFrame。可结合依赖清单中的 beautifulsoup4 理解其底层解析链路。Notebook 6占位文件从仓库结构看6_financial_data.ipynb 目前是空的占位 Notebook仅含空代码 cell 与 Python 3 内核元数据属于课程预留而未填充的章节其主题名Financial Data与 8_altman_z_double_prime.ipynb 等金融数据实战相互呼应。Notebook 7高级可视化——seaborn 与 plotly7_advanced_plotting.ipynb 在 matplotlib 基础之上做升级。原文要点seaborn是 matplotlib 之上的封装产出更美观的图表并内置大量统计绘图能力plotly是跨平台绘图库可轻松搭建交互式图表。由于公开仓库无法使用机构内部数据课程用生成数据近似模拟 Russell 2000 指数隐含波动率与 HYGiTraxx 高收益信用指数走势作为绘图素材展示了在缺乏真实行情时如何构造研究用样例数据。Notebook 8金融实战三——Altman Z 信用评分模型8_altman_z_double_prime.ipynb 将课程推向信用风险领域复现 Altman 教授提出的Altman ZDouble Prime评分用于量化公司违约概率。模型公式为$$ Z 6.56x_1 3.26x_2 6.72x_3 1.05x_4 $$其中 $x_1$ 营运资本/总资产$x_2$ 留存收益/总资产$x_3$ 息税前利润/总资产$x_4$ 股东权益/总负债。Notebook 还交代了模型的历史背景早期粗粒度分档高于 2.6 为健康、1.1–2.6 为灰色地带、低于 1.1 有破产风险后期细化为与传统信用评级的映射示例使用 IEX 数据从零开始逐步计算该分数。Notebook 9收益率曲线三维可视化9_3d_plotting.ipynb 结合 data/yield_curve.csv 演示 plotly 的三维绘图能力——将期限 × 日期 × 收益率的数据结构渲染为收益率曲线曲面。核心数据准备工作如下import pandas as pd import numpy as np import plotly.graph_objs as go df pd.read_csv(../data/yield_curve.csv) xlist list(df[x].dropna()) # 期限轴 ylist list(df[y].dropna()) # 日期轴 del df[x] del df[y] # 剩余列为 z[0]..z[10] 收益率矩阵这与数值计算 数据可视化的课程双核定位形成闭环数据文件 yield_curve.csv 共 6308 行列结构为x期限、y日期、z[0]..z[10]各期限收益率正是三维曲面图的标准输入。独立脚本mandlebrot.pynotebooks/mandlebrot.py 是随课程附带的一个独立 Python 脚本Mandelbrot 集合绘制可作为语法与数值迭代能力的额外练习素材。配套数据集一览课程所需数据集中在 data/ 目录均为随仓库分发的 CSV 文件notebook 通过相对路径../data/读取文件规模行数内容与来源主题airports.csv约 7,699 行全球机场信息含 IATA/ICAO 代码、经纬度、时区等OpenFlights 数据routes.csv约 67,664 行全球航线数据含航司、起降机场、经停数等OpenFlights 数据yield_curve.csv约 6,308 行收益率曲线数据供 3D 曲面可视化使用data_raw.csv126 行标的证券的原始行情date、open、close、high、low、volume 等data_norm.csv126 行与 data_raw 对应的归一化数据data_raw.csv与data_norm.csv为成对文件可支撑原始数据 → 标准化处理的教学演示。数据归属与第三方致谢README 明确声明了两类数据来源需在使用与再分发时保持署名金融数据由 IEX Cloud 提供机场与航线数据由 OpenFlights.org 提供。此外课程运行依赖Binder项目用于一键云环境其底层基础设施得到了 Google Cloud Platform、OVH、GESIS Notebooks 与 Turing Institute 等机构的支持。仓库 README 亦以徽章形式公布了开源许可与联系邮箱供使用者按 Apache 2.0 许可条款合规使用。许可与合规本仓库采用Apache License 2.0开源许可完整许可文本见 LICENSE 文件。引用或二次分发本课程材料时请遵循 Apache 2.0 的许可声明与署名要求。如何开始学习零安装启动点击 README 顶部的 Launch Cloud Instance 徽章在 Binder 上直接打开 JupyterLab按序号从notebooks/0_best_practices.ipynb开始本地复现在 Python 3.9 环境执行pip install -r binder/requirements.txt然后启动 JupyterLab 打开各 notebook按路径学习遵循最佳实践 → Jupyter 入门 → 期权定价 → 数据清洗 → API 取数 → 网页抓取 → 高级可视化 → 信用评分 → 3D 绘图的递进链路每个 notebook 都可在 notebooks/ 目录中对照源码逐行研读。这份课程的价值在于它用一条完全面向金融业务的路径把 Python 语法、函数抽象、数据框操作、API 调用与可视化能力串成可落地的分析技能——这正是分析师与交易员日常工作中最需要的够用且好用的 Python 能力集合。赞分享示例工程教程数据分析数据可视化金融科技【免费下载链接】python-trainingPython training for business analysts and traders项目地址https://gitcode.com/gh_mirrors/py/python-training点击查看免费下载相关推荐如何快速上手ViVeTool-GUI新手必看的10个操作技巧如何快速上手ViVeTool GUI新手必看的10个操作技巧 如果你是一名 Windows Insider 用户想要探索 Windows 系统中的隐藏功能桌面应用为什么选择sokol-samples10个让开发者爱不释手的核心优势为什么选择sokol samples10个让开发者爱不释手的核心优势 sokol samples是GitHub上floooh/sokol项目的官方示例代码库FastUI科学计算数值分析与数据可视化FastUI科学计算数值分析与数据可视化 概述 在数据驱动的时代科学计算和数据分析已成为各行各业的核心需求。传统的科学计算工具虽然功能强大但在用户界面和交后端前端Web框架UI组件创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考