月亮和Pandas -- 开源项目的挑战与机遇

news2024/11/15 21:05:56

毛姆的《月亮和六便士》讲述了这样一个故事,一个富有的英国股票经纪人,思特里克兰德,为了追求艺术和美,放弃自己的生活和家庭,来到巴黎,以艺术家的身份过着贫穷却目中无人的充足的生活,最终留下无数画作,享誉世界。

这本书表达了这样的意义,不要因终日寻找地上的六便士,而错过了头顶的月亮。今天我们要讲的,是同样的故事,仍然是一个金融人抛弃浮华,转向自己喜欢的事业,从而改变了世界的故事。

我把这个故事称为月亮和Pandas,连名字都谐音了月亮和六便士。

Pandas是金融人、量化人和数据科学家最重要的瑞士军刀。正如死亡和税收不可避免,Pandas对量化人而言,也具有同样的地位 – 每个人都不可避免地要与之打交道。

Pandas的创建者正是Wes Mckinney,我们故事的主角。Wes Mckinney和Pandas在20年前,当Python社区不知该向何处去的时候,以一已之力,开拓了Python的生存空间。

20世纪初的金融人思特里克兰德,勘破了俗世红尘,转而潜心研究艺术,尽管后半生在物质上不如之前安逸,但能做自己喜欢的事,才是幸福

Wes Mckinney, 大学毕业于MIT,后来拿到了杜克大学的数学和统计学两个博士学位。

他于2007年加入投资管理公司AQR。这是一家巨头公司,员工人数有1000人左右,管理规模达到了1400多亿美元。他们为机构客户提供另类和传统投资工具。

在AQR任职期间,大量的基础数据分析和统计工作是基于Microsoft Excel 手工完成的,这种工作极其繁琐和低效率。于是,Wes Mckinney从2008年开始,尝试开发Pandas,并选中了Python作为开发语言。

来源:pandas logo

在当时Python还不是一种很流行的数据分析和统计语言,不过Wes Mckinney很快就让它流行开来,Pandas在某种意义上,成为了“立王者”的角色 – 当然Python最终取得今天这般地位,还要借助AI的风力,才能够青云直上。

红云随步起 一箭中青霄 鹿行千里远 争知去路遥

Pandas非常成功,但带来的问题是,Wes Mckinney的业余时间已经不能满足开发的需求。于是,他像思特里克兰德一样,离开了金融行业(并且退学。似乎每一个成功的美国创业者,都必须有dropout的经历),专心一意开发Pandas。

Pandas是开源产品,最初并不能提供任何收入,Wes Mckinney靠着之前工作的丰厚收入,以及兼职来养活自己。这期间,他还出版了一本名为《Python for Data Analysis》的书,获得了一些稿费。

随着Pandas的成功,第二年,Wes Mckinney就从AQR招募了两名同事,与他一起探索Python和Pandas在金融行业的创业机会,随后, 他和Chang一起创建了DataPad公司。

现在, Pandas由超过2500名贡献者共同维护。 Wes Mckinney不再参与日常的pandas开发。但社区授予他终身仁慈独裁者(BDFL)的荣誉,拥有对Pandas未来发展的决定权,就像Guido之于Python一样。

2016年,Wes Mckinney与他人一起共同创建了Apache Arrow项目,现在Arrow是跨编程语言共享科学数据的主要格式。Arrow仍然是开源的项目,但Wes Mckinney提出一个非营利行业联盟的想法,成功地吸引到Two Sigma(就是大家熟悉的量化投资巨头)作为赞助商,此后,又吸引到NVidia, Intel, bloomberg等大公司的赞助,从而能够支持一个有六名全职开发人员的分布式团队。

从AQR开始,到主要以推广开源数据分析和数据科学工具作为职业生涯的主题,Wes Mckinney 经历了华丽的转身。他现在是Usra Labs的负责人,利用他的声誉,为Usra Labs获得资金,以促使开源和创新持续向前发展。

与坐在办公室里日复一日地数着绿纸相比,他显然更享受现在在田纳西纳什维尔的生活,因为他的目标是为这世界增添一份美好:do as much good in the world as I can。

Wes Mckinney的经历是一个传奇,他的成功也为现在想要进入金融行业的新人提供了一个范例:并不一定亲自下场做为金钱厮杀的角斗士,解决行业在软件方面的痛点,也许更容易成功。这世界并不缺少量化研究员,但Pandas和Arrow的创建者,永远只有一个。

如果你盯着月亮看,最终至少也能获得满天的清辉,它的光芒,远超六便士。

同样作为一名开源项目的作者,深知开源项目很难。如果不是出于兴趣、不是出于解决问题的目标(Do as much good in the world as I can),不要做开源。

最后是一点来自 Wes Mckinney的小福利。

如果要推荐一本讲解Pandas的书,毫无疑问,没人任何书籍能比《Python for Data Analysis》更权威了。因为它是由Pandas的创建者 Wes McKinney 撰写的!这本书现在提供有网页版供开放访问。读者也可点击此链接阅读。在2023年4月进行更新后,它现在支持到了pandas 2.0版本。

75%
当然,如果你在学量化的话,可以我们课程中关于Pandas的部分讲得更好,因为我们是问题导向的,很多举例直接命中因子分析、技术分析中需要用到Pandas的API,更有学完即用的即视感。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1935440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

芯科科技第五届物联网开发者大会走进世界各地,巡回开启注册

中国,北京 – 2024年7月18日 – 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB)今日宣布,其2024年Works With开发者大会现正开放注册…

一文带你摸清SaaS服务与开源知识库的区别

在当今数字化转型的浪潮中,SaaS服务与开源知识库作为推动行业进步的两股重要力量,在多个方面展现出显著的区别。SaaS以其即用即付的便捷性、持续更新维护的优势,成为现代企业提升效率的首选;而开源知识库则凭借开放共享、自由定制…

SpringMVC注解全解析:构建高效Web应用的终极指南 (上)

SpringMVC 是一个强大的 Web 框架,广泛应用于 Java Web 开发中。它通过注解简化了配置,增强了代码的可读性。本文将全面解析 SpringMVC 中常用的注解及其用法,帮助你构建高效的 Web 应用。 一. MVC介绍 MVC 是 Model View Controller 的缩写…

项目实用linux 操作详解-轻松玩转linux

我之前写过完整的linux系统详解介绍: LInux操作详解一:vmware安装linux系统以及网络配置 LInux操作详解二:linux的目录结构 LInux操作详解三:linux实际操作及远程登录 LInux操作详解四:linux的vi和vim编辑器 LInux操作…

LeetCode 3112.访问消失节点的最少时间:单源最短路的Dijkstra算法

【LetMeFly】3112.访问消失节点的最少时间:单源最短路的Dijkstra算法 力扣题目链接:https://leetcode.cn/problems/minimum-time-to-visit-disappearing-nodes/ 给你一个二维数组 edges 表示一个 n 个点的无向图,其中 edges[i] [ui, vi, l…

【JavaEE】CAS原理实现 + 常见应用

本文基于jdk8 参考: 黑马程序员深入学习Java并发编程,JUC并发编程全套教程_哔哩哔哩_bilibili CAS原理 CAS:比较和交换(设置) Compare And Swap(Set)。当A的值为5的时候,给A设置值为10。这里涉及到的比较和设置值的操作是原子的…

SAP代理商哲讯智能携手合肥企业,共塑SAP系统开发新篇章

在数字化转型的浪潮中,SAP开发作为企业信息化建设的重要一环,对于提升企业的运营效率和市场竞争力具有至关重要的作用。合肥,作为中国东部地区的重要城市之一,拥有众多企业正积极探索SAP开发的可能性。哲讯智能科技有限公司&#…

【昇思25天学习打卡营第25天 | 基于MindSpore通过GPT实现情感分类】

学习心得:基于MindSpore通过GPT实现情感分类 摘要 本文通过一个具体的实验案例,详细阐述了如何使用华为的MindSpore框架结合GPT模型来实现情感分类任务。从环境配置到模型训练,再到评估和测试,整个流程清晰、系统,为…

第三篇 Vue项目目录结构介绍

1、最外层目录结构 passagerFrontPage ├── .vscode //vscode配置,不用理会 ├── node_modules //项目依赖,npm install命令执行后自动生成 ├── public //公共资源存放 ├── src //源码 ├── tests //选装:测试模块 ├── .git…

华为云安全事件深度剖析与防范策略

华为云安全事件深度剖析与防范策略 引言 随着云计算技术的飞速发展,企业越来越依赖云服务来提升业务效率和创新能力。然而,云服务在带来便利的同时,也伴随着一系列复杂的安全挑战。华为云作为国内领先的云服务提供商,其安全性直接…

Linux网络——TcpServer

一、UDP 与 TCP 在现实生活中,Udp 类似于发传单,Tcp 类似于邮局的挂号信服务。 1.1 UDP(用户数据报协议) 无连接:发放传单时,你不需要提前和接受传单的人建立联系,直接把传单发出去。不可靠&…

Ubantu 使用 docker 配置 + 远程部署 + 远程开发

大家好我是苏麟 , Ubantu 一些配置 . 视频 : 服务器很贵?搞台虚拟机玩玩!保姆级 Linux 远程开发教程_哔哩哔哩_bilibili Docker安装及配置 安装命令 : sudo apt install docker.io 查看版本号 : docker -v 查看虚拟机地址命令 : ifconfig 虚拟机地址 或…

服务器数据恢复—RAID5阵列重建重建导致数据丢失的数据恢复案例

服务器数据恢复环境&故障: 一台服务器,有一组由5块硬盘组建的raid5磁盘阵列。 服务器在运行过程中一块有磁盘掉线,由于raid5阵列支持一块磁盘掉线的特性,服务器还在正常工作。不久之后服务器出现故障,管理员在不了…

记一下blender的烘焙贴图的UV特殊用法

就拿这个BOX来说好了 如果使用light map展开是这样的 如果你手动展好的话是这样的 为什么提到这个东西呢 如果有一个物体,你在blender渲染其实使用了程序化方案,且没展UV就做好了颜色,那如果你想要直接拿到他,直接用这个light …

LLM大模型实战项目--基于Stable Diffusion的电商平台虚拟试衣

本文详细讲解LLM大模型实战项目,基于Stable Diffusion的电商平台虚拟试衣 一、项目介绍 二、阿里PAI平台介绍 三、阿里云注册及开通PAI 四、PAI_DSW环境搭建 五、SDLORA模型微调 一、项目介绍 AI虚拟试衣是一种创新的技术,利用人工智能和计算机视觉技…

【C语言】深入解析选择排序

文章目录 什么是选择排序?选择排序的基本实现代码解释选择排序的优化选择排序的性能分析选择排序的实际应用结论 在C语言编程中,选择排序是一种简单且直观的排序算法。尽管它在处理大型数据集时效率不高,但由于其实现简单,常常用于…

IT产品研发全生命周期【详细说明】

阶段步骤任务负责人产品管理用户故事收集和理解用户需求,创建用户故事产品经理需求分类分类用户故事,组织和优先级排序需求经理可行性分析评估需求的技术可行性与实现难度研发经理需求转换将需求转化为具体的产品特性或功能要求需求经理需求管理创建需求…

【机器学习】机器学习与语音识别的融合应用与性能优化新探索

文章目录 引言第一章:机器学习在语音识别中的应用1.1 数据预处理1.1.1 数据去噪1.1.2 数据归一化1.1.3 特征提取 1.2 模型选择1.2.1 隐马尔可夫模型1.2.2 循环神经网络1.2.3 长短期记忆网络1.2.4 Transformer 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Ad…

Three.JS 使用RGBELoader和CubeTextureLoader 添加环境贴图

导入RGBELoader模块: import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader.js"; 使用 addRGBEMappingk(environment, background,url) {rgbeLoader new RGBELoader();rgbeLoader.loadAsync(url).then((texture) > {//贴图模式 经纬…

基于Linux的USB-wifi配置流程

目录 内核配置 配置 CFG80211 配置usb 配置 Netlink 配置DHCP 工作流程 1.连接到无线网络 2.设置网络接口: 3.验证连接: 4. 接收数据: 最近daisy一直忙活这个linux的wifi驱动和bluze蓝牙驱动,相比较蓝牙,WiFi的驱动和内…