当前位置: 首页 > news >正文

什么是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 库都站在这块基石上。

http://www.gsyq.cn/news/131199.html

相关文章:

  • 10.9
  • 为什么90%的KTV都在接入Open-AutoGLM?真相令人震惊
  • 【限时稀缺教程】:用Open-AutoGLM实现毫秒级电影票抢购,成功率提升90%
  • 我发现多尺度因果图漏不确定性,后来补鲁棒优化才稳住治疗策略
  • 人工智能之数字生命--从点云 → 自动子存在生成4
  • 当答辩PPT,成了扼杀学术表达的最后一道屏障
  • 搞懂大数据CAP定理,为大数据项目保驾护航
  • 人工智能之数字生命--人类是如何“自然地”把人体划分为头、手臂、躯干、腿等部分的?
  • 宠物门店效率提升300%的秘密(Open-AutoGLM自动化预订实战案例)
  • 第40次CCFCSP认证邮寄
  • Excalidraw API接口调用示例:自动化绘图集成方案
  • Open-AutoGLM健身卡预约实战指南(从配置到上线全流程曝光)
  • .NET Core如何支持多平台大文件分片上传的兼容性配置?
  • 人工智能之数字生命--从点云 → 自动子存在生成3-瓶颈/关节”检测的简化算法
  • 电脑分区详细指南:步骤、要点与深度解析
  • FCKEditor实现Word图片转存HTML富文本编辑器兼容
  • FCKEditor处理Word图片转存信创系统兼容性问题
  • 揭秘Open-AutoGLM自动预约黑科技:如何7天无脑抢到热门健身时段?
  • Excalidraw绘图技巧:如何画出专业级系统架构图
  • 【企业级数据防护必看】:Open-AutoGLM本地加密存储的7层安全加固方案
  • 9.270
  • Open-AutoGLM如何重塑宠物经济:5大核心技术驱动智能服务预订升级
  • 为什么顶尖团队都在用Open-AutoGLM做自动教学?真相令人震惊
  • .NET WebForm如何设计大文件上传的暂停与继续功能?
  • 【AI系统高可用性保障】:基于Open-AutoGLM的3层故障恢复架构设计
  • Open-AutoGLM首次配置避雷指南,资深工程师不会告诉你的7个细节
  • Open-AutoGLM入门指南(新手避坑全攻略)
  • Excalidraw实战教程:从零开始打造产品原型草图
  • 9.29
  • C#如何结合开源库实现.NET Core百万文件上传的优化方案?