news 2026/8/24 16:15:45

什么是Numpy?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是Numpy?

What|NumPy 到底是什么?

⚙️ Python 的「数值计算底层引擎」:一个开源库,提供高效 n 维数组对象 ndarray + 广播机制 + 向量化数学函数;pandas、scipy、scikit-learn、PyTorch 都把它当底座。

量化圈名言:「没有 NumPy,Python 就是慢脚本;有了 NumPy,Python 变成向量化高铁」。

Who|天天在 import numpy?

1️⃣ 量化研究员:回测里 10 年 3000 只股票日收益 → 一行returns.mean(axis=0)秒算平均收益。

2️⃣ 数据工程师:CSV →np.loadtxt→ 矩阵,一步完成。

3️⃣ 机器学习工程师:把图片转成np.uint8数组喂给 CNN。

4️⃣ 高校学生:线性代数作业np.linalg.eig算特征值。

5️⃣ 散户极客:用numpy.random做蒙特卡洛模拟资产价格路径。

Where|在哪用?

🖥️ 本地:Anaconda 自带,无需额外安装。

🌐 云端:Colab、Kaggle 内核已预装 NumPy + MKL 加速。

📱 嵌入式:MicroPython 裁剪版也能import numpy

🖱️ 在线:GitHub Codespaces 终端python -c "import numpy; print(numpy.__version__)"

When|什么时候必须用?

⚡ 循环太慢:纯 Python for 算 100 万条收益均值要 1 秒 → NumPy 向量化 10 ms。

⚡ 维度广播:不同 shape 的矩阵相加,不用手写双重循环。

⚡ 线性代数:求协方差、特征值、矩阵乘法,调用np.dot/np.linalg一步到位。

⚡ 随机模拟:几何布朗运动、Bootstrap 重采样,用np.random家族即可。

Why|用 NumPy 而不用纯 Python?

  1. ✅ C 级速度:底层 OpenBLAS/MKL 优化,向量化比 for 循环快 10–100×。
  2. ✅ 内存省:ndarray 连续存储,同样 float64 数组比 list 省 40% 内存。
  3. ✅ 广播语法:写a + b就能自动对齐维度,代码短、可读性高。
  4. ✅ 生态核心:pandas Series/DataFrame 底层就是 ndarray,不会 NumPy 就看不懂源码。

How|60 秒最小示例(向量化)

先安装Numpy:

pipinstallnumpy

导入:

importnumpyasnp

创建 252 天、3000 只股票的随机日收益矩阵:

# ① 创建 252 天、3000 只股票的随机日收益矩阵# 均值 0.05%,日波动 2.2%rets=np.random.normal(0.0005,0.022,size=(252,3000))rets

年化收益,按股票维度(axis=0):

# ② 年化收益,按股票维度(axis=0)annual_ret=rets.mean(axis=0)*252annual_ret

波动,按股票维度(axis=0):

# 波动,按股票维度(axis=0)annual_vol=rets.std(axis=0)*np.sqrt(252)annual_vol

夏普(无风险 2%):

# ③ 夏普(无风险 2%)sharpe=(annual_ret-0.02)/annual_volprint('平均夏普:',sharpe.mean().round(2))# 输出 ≈ 0.73

协方差矩阵(3000×3000):’

# ④ 协方差矩阵(3000×3000)cov=np.cov(rets,rowvar=False)# rowvar=False 表示每列是一只股票print('协方差矩阵形状:',cov.shape)# (3000, 3000)

完整代码:

importnumpyasnp# ① 创建 252 天、3000 只股票的随机日收益矩阵rets=np.random.normal(0.0005,0.022,size=(252,3000))# 均值 0.05%,日波动 2.2%# ② 年化收益 & 波动,按股票维度(axis=0)annual_ret=rets.mean(axis=0)*252annual_vol=rets.std(axis=0)*np.sqrt(252)# ③ 夏普(无风险 2%)sharpe=(annual_ret-0.02)/annual_volprint('平均夏普:',sharpe.mean().round(2))# 输出 ≈ 0.73# ④ 协方差矩阵(3000×3000)cov=np.cov(rets,rowvar=False)# rowvar=False 表示每列是一只股票print('协方差矩阵形状:',cov.shape)# (3000, 3000)

运行完:

  • 252 万数据点,全程向量化,本地笔记本 < 200 ms 完成。
  • 一行np.cov直接拿到马科维茨输入矩阵。

一句话总结:NumPy = Python 的「向量化高铁」:ndarray 让循环进 C 语言,速度×100,内存省,所有量化/ML 库都站在这块基石上。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 7:23:08

Open-AutoGLM部署难题一网打尽,资深架构师亲授文档生成最佳实践

第一章&#xff1a;Open-AutoGLM部署与文档生成概述Open-AutoGLM 是一个基于开源大语言模型的自动化代码文档生成工具&#xff0c;专注于提升开发团队在项目维护与协作过程中的效率。通过集成主流LLM推理框架与静态代码分析技术&#xff0c;Open-AutoGLM 能够解析源码结构、识别…

作者头像 李华
网站建设 2026/8/23 23:43:12

直流电机转速电流双闭环调速系统Matlab/Simulink仿真模型

直流电机双闭环调速系统仿真模型 转速电流双闭环调速系统Matlab/Simulink仿真模型。 内外环均采用PI调节器&#xff0c;本模型具体直流电机模块、三相电源、同步6脉冲触发器、双闭环、负载、示波器模块搭建。 所有参数都已经调试好了&#xff0c;仿真波形完美&#xff0c;可以直…

作者头像 李华
网站建设 2026/8/24 15:42:01

【AI+文娱新突破】:Open-AutoGLM 如何实现毫秒级场次匹配?

第一章&#xff1a;Open-AutoGLM 电影场次查询 Open-AutoGLM 是一个基于自然语言理解与自动化调度的智能查询框架&#xff0c;专为动态场景下的信息检索设计。在电影场次查询这一典型应用场景中&#xff0c;系统能够解析用户以自然语言提出的请求&#xff0c;自动匹配影院、影片…

作者头像 李华
网站建设 2026/8/23 14:23:54

0.1秒响应的预约系统是如何炼成的,Open-AutoGLM核心原理深度解析

第一章&#xff1a;0.1秒响应的预约系统是如何炼成的在高并发场景下&#xff0c;实现亚秒级响应的预约系统需要从架构设计、数据存储到缓存策略进行全方位优化。核心目标是降低延迟、提升吞吐量&#xff0c;并保证数据一致性。异步处理与消息队列解耦 将用户提交预约请求的路径…

作者头像 李华
网站建设 2026/8/23 19:30:38

【Open-AutoGLM电影票自动化秘籍】:手把手教你0代码实现智能购票系统

第一章&#xff1a;Open-AutoGLM智能购票系统概述Open-AutoGLM 是一款基于大语言模型驱动的智能自动化购票系统&#xff0c;旨在解决高并发场景下传统购票流程中响应慢、操作繁琐和验证码识别难等问题。该系统融合自然语言理解、浏览器自动化控制与动态调度算法&#xff0c;实现…

作者头像 李华