在做量化时,会严重的发现,Go 基本没有一个完备的量化框架,如回测,分析,报表,实盘展示等.仅仅一些 web 服务端很多框架。
在做量化时,速度还是很大的因素,python 作为解释性语言还是没 go 快,但为啥就发展不起来呢?
1 weo0 2019-05-14 09:03:06 +08:00 主要还是看培训班 |
![]() | 2 chenset 2019-05-14 09:04:11 +08:00 python 90 年代初的语音, 怎么能比. GO 也主打网络开发吧. 数据分析是 python 主场吧. |
3 ace12 2019-05-14 09:04:53 +08:00 时间 |
![]() | 4 fhsan 2019-05-14 09:06:37 +08:00 Go 不就是为了网络并发诞生的吗? |
![]() | 5 XIVN1987 2019-05-14 09:08:00 +08:00 Go 是用来做基础设施和高并发网络应用的,,有这种需求的公司没那么多,, |
6 xpresslink 2019-05-14 09:15:16 +08:00 Go 的设计目标是代替一部分 C 言开发场景,说白了就是有垃圾回收的 C 语言。 |
![]() | 7 Imr 容器周边都是 go 写的东西,py 火,我觉着一个是系统自带普及率高,加上类似脚本语言简单好用 |
![]() | 8 thfurior 2019-05-14 09:23:14 +08:00 python 的库多吧,方便编码 |
![]() | 9 konakona 2019-05-14 09:24:44 +08:00 我感觉完全不是一个东西了,2333 深入学习 GO 和 Python 以后。 另一个是 Go 没什么培训班,而且 package 比较少,造轮子比较多,意味着分配工作后的快速适应性不强。 |
![]() | 10 specita 2019-05-14 09:25:14 +08:00 ![]() go get timeout |
![]() | 11 hareandlion 2019-05-14 09:46:51 +08:00 via Android go 的生态还没有 py 全吧 |
![]() | 12 Constellation39 2019-05-14 09:54:26 +08:00 go get timeout |
![]() | 13 Muninn 2019-05-14 09:59:25 +08:00 所以才有机会造轮子呀…… 数据方面 n 多几十几百星的轮子正在制造中 |
![]() | 14 janxin 2019-05-14 09:59:44 +08:00 量化框架支持比 Py 完善的本来也不是很多吧... |
15 zarte 2019-05-14 10:01:33 +08:00 就像你想要的没有,轮子少,毕竟发展时间比 py 晚。 |
![]() | 16 lithiumii 2019-05-14 10:04:25 +08:00 数据分析很多不是程序员在做,Go 对非科班人士有 py 友好吗…… |
17 mingqing 2019-05-14 10:06:19 +08:00 每种语言都有它存在的意义,以及专注的领域。 |
![]() | 18 SaintDan 2019-05-14 10:11:56 +08:00 GO 还没到火的时候,而且火不火首先看场景,其次看社区 |
![]() | 19 Leigg 2019-05-14 10:16:54 +08:00 via iPhone 不太懂,量化是 cpu 密集型任务吗? |
20 hiouyuu 2019-05-14 10:19:18 +08:00 数据回归、拟合,绘图等等最重要的功能,python 只需要一行代码就能实现,而 golang 甚至没有一个很好的科学绘图库。 |
![]() | 21 rockyou12 2019-05-14 10:29:41 +08:00 一般做原型还是 python 这些写着快把,毕竟有 repl 可以事实看过程和结果,而且 python 上的各种计算密集的库底层一般都是 c,c++写的,也不会慢 |
22 GitHub123456 2019-05-14 10:31:27 +08:00 场景的问题,还有就是公司的问题,技术经理的喜好问题 |
![]() | 23 flyingghost 2019-05-14 10:43:12 +08:00 量化的前提不是已经完备的框架,而是更细节更原子更重要的数据分析、处理库。这些库确保可用性和易用性。然后才是并行、GPU 等库确保效率。 这些领域,python 有着超过 20 年的生态积累。go 有什么?只有中间件和 web 服务。go 是一种工程化语言,而 python 不但有工程界的喜爱,更重要的是科研界的基础。这是 go 连想都不敢想的。 |
![]() | 24 casaca 2019-05-14 10:46:35 +08:00 ![]() Go 为啥没 Python 火? 因为 GO 那个 LOGO 太变态太恶心了。 |
![]() | 25 qq976739120 2019-05-14 10:48:31 +08:00 go 的包管理可以劝退一大部分新人...现在有了 go mod 也只是稍微友好了点 |
![]() | 26 flyingghost 2019-05-14 10:51:24 +08:00 ![]() lz 也只提到一点优势,速度。相对于生态,速度真的是权重非常小了。 而且 python 做原型做科研做探索,根本不太介意速度。教授和学生们选择 matlab 和 R 需要认真考虑速度吗? 真要到生产环节,速度也有多种弥补方式,架构对速度的影响远大于虚拟机和 GIL。 再具体化到功能或者指令级的速度优化,也有太多的选择。c/c++做 python 的底层已经是业界常规,框架、系统级开发 go 的面前还横着一个 rust 插队,旁边一个 julia 横空出世打着 python 继任者的旗号。 go 在 python 的领域实在看不到啥机会。 |
![]() | 27 looplj 2019-05-14 10:54:09 +08:00 你这个太片面了。 量化主要看的策略,还有一些数据处理,这方面 Python 的积累是最多的。 Python 现在确实很火,主要还是用来做一些机器学习,深度学习方面的东西。 在普通的后端领域,很多公司都在用 Go 替换 Python 的。 |
![]() | 28 qlhai 2019-05-14 11:09:06 +08:00 王垠:对 Go 语言的综合评价 http://www.yinwang.org/blog-cn/2014/04/18/golang |
![]() | 29 reus 2019-05-14 12:03:36 +08:00 几年前 ruby/rails 火吧?现在怎样了? python 在 web 开发方面也曾经火过,现在呢? 再往前的 PHP、perl,现在还火吗? 不进则退,不要以为有什么护城河,也不要言之凿凿 go 就一定不能占据这个领域 |
![]() | 30 dabaibai 2019-05-14 12:07:57 +08:00 领域不同吧 go 后端为主 python 工具化为主 |
![]() | 31 zhucegeqiu 2019-05-14 12:12:20 +08:00 数据分析 python 就是个壳,底层都是 c++之类的,速度绝对比纯 go 写快,coding 起来又爽,没有 go 的生存空间 |
![]() | 32 q397064399 2019-05-14 12:19:55 +08:00 同理 你可以问 Java 为什么在量化领域 没有 Python 火.. |
![]() | 33 rzti483NAJ66l669 2019-05-14 12:20:28 +08:00 跑得快不如写得快 |
34 davelm 2019-05-14 12:21:04 +08:00 via iPhone python 量化库很少是纯 py 写的,底层很多还是 c/c++/fortran,并且 py 库很完善,策略 /回测上,py 开发效率比 go 还是要快的,所以相关团队没动力去迁移 |
![]() | 36 largecat 2019-05-14 12:28:11 +08:00 via Android python 库实在是太多太多太多了, 不要觉得 python 性能不好,他的库底层都是 c 这些写的,性能很好,操作层面用 python 也非常好的效率。 对比造全部自己造的 go,强不少 |
37 orm 2019-05-14 12:29:38 +08:00 via iPhone 最早 go 第三方依赖,反人类 |
![]() | 38 blless 2019-05-14 12:55:50 +08:00 via Android 写得爽不就好了,毕竟工程语言,王垠的文章看了半天实际感觉还是负面评价居多…在我看来 go 无非就是在 c 和 python 中间取了一个权衡,而且这个权衡我觉得还是很划算的,80%python 开发效率换取 80%c 的性能。又多了一种选择不是吗 |
![]() | 39 inframe 2019-05-14 12:56:19 +08:00 via Android 就库而言,go 生态还差得远呢 |
![]() | 40 murmur 2019-05-14 12:56:59 +08:00 因为 jetbrains 给 go 的 ide 起名叫 golang,就是够烂的意思,所以可以证明是 jetbrains 把 go 坑了 |
![]() | 41 ipwx 2019-05-14 12:59:04 +08:00 楼上说的都对。 我选择 Python。 |
![]() | 42 cookey39 2019-05-14 13:02:46 +08:00 via Android 关键还是生态吧。在数据科学领域有 python,web 领域有 java,高性能领域有 c 艹。编程语言三巨头短期内还是难以撼动。顺便一提 go 在国内比国外还火。 |
![]() | 43 azhw 2019-05-14 13:04:10 +08:00 量化? 量化是撒? 量化宽松... 量化投资? |
![]() | 44 v2nika 2019-05-14 13:06:41 +08:00 go 没有 python 那么多语法糖,比如装饰器,继承等,加上要编译运行,强类型,对于习惯用 Jupyter 的搞经济,数学的人来说不一定很适用。就像 matlab, mathematica, comsol 对于不同领域的人一样。 |
![]() | 45 LokiSharp 2019-05-14 13:07:09 +08:00 Go 的 Logo 太丑了啊 |
![]() | 46 27 2019-05-14 13:26:33 +08:00 golang = 够浪 |
![]() | 47 www5070504 2019-05-14 13:28:50 +08:00 太好了 培训班还没盯上 golang |
![]() | 48 8a9a09dw12 2019-05-14 14:46:17 +08:00 @murmur replace("golang","goland") |
![]() | 49 stream 2019-05-14 14:55:33 +08:00 python 库多,培训班三两行代码拉个东西,“ awesome"! |
![]() | 50 ArianX 2019-05-14 15:10:16 +08:00 via Android Python 这一波主要是数据分析人工智能带起来的吧,后台领域感觉渐渐式微了,很多用 python 的公司都转 go、java |
51 kiddingU 2019-05-14 15:48:50 +08:00 现在 go mod 管理包很方便 |
52 kwanzaa 2019-05-14 15:50:00 +08:00 go get timeout |
53 qcts33 2019-05-14 16:04:41 +08:00 不说别的,Python3 都比 Golang 早发布,你总得考虑历史原因吧…… 另外 Python 有 Numpy 这样非常成熟的数值运算库,通过 BLAS 的加速,跑起来不一定比你用 Golang 手撸数值运算要慢 |
![]() | 54 6d6f33 2019-05-14 16:05:41 +08:00 楼上说的都对。 我选择 Python。 |
![]() | 55 SwagXin 2019-05-14 16:54:18 +08:00 go 年龄小,现在发展已经算不错了。 |
57 shisang 2019-05-14 17:23:06 +08:00 moby (摸逼) 生态没有什么可以取代 golang (够浪) |
58 lolizeppelin 2019-05-14 17:42:39 +08:00 要手动泛型的 go 在需要写灵活代码的时候很痛苦的 |
![]() | 59 ruyuejun 2019-05-14 18:02:24 +08:00 Go 的年纪相比 Python 实在太小了,在积累上自然有劣势。 但是不能说 Go 没有 Python 火,要看具体的场景, Python 基本都是用在一些科学运算等场景中,其火在于运维工程师、一些非 IT 从业中, 市场上 Web 开发仍然是程序员大军中比例较大的,Python 在这里并没有多少席位,不要提 flask 等,差距很大。 Go 在微服务、中间件、云原生应用领域虽然不及 Java,但是和 Python 对比,其体量还是秒杀 Python 的。 来一起学 Go 吧,热乎的笔记等你 clone: https://github.com/overnote/Golang |
![]() | 60 icylogic 2019-05-14 18:04:28 +08:00 via iPhone 准备学学 julia …… go 就算了 另外很多 nvidia 的计算库就两个官方 API C++ 和 Python,有些东西你手撸就是没有它提供的库快 |
![]() | 61 FrankHB 2019-05-14 18:07:36 +08:00 @qlhai 几年了都搞不清什么叫自动的过气用户(亏他下文还有脸提“资源泄漏”)的说法看看笑过就好。 说实话,这个还不如“新的都不是好的,好的都不是新的”这个他自己之前对 Go 的特性的评价来得干脆(和准确)。 虽然里面说的 Go 的坏话很多也没多大毛病,不过还是有不少东西是欺负大多数读者外行吧…… 比如说所谓通常被叫做“进程”或者“线程”的东西,是要支持抢占式多任务的,自带调度(和 goroutine 实际上更接近)。就算是 building block,那也叫 engine (像 timed-lambda )什么的,“系统级 continuation ”是什么鬼…… 还有除去调度,也不提 CPS 会有怎么样的 ABI 或者其它幺蛾子麻烦(跟他吹 checked exception 时如出一辙),undelimited continuation 在资源上无论怎么实现都是要炸的……所谓“函数式语言只要支持 continuation,就会很容易的实现大并发”基本就是痴心妄想。 看看,这般扯的批评都能被人当真,就知道并不能指望这些语言有多少靠谱的用户了。 (顺便,Scheme 的 cond 和多返回值也有照着 Scheme 自己的设计原则来讲一眼看过去就能发现烂的地方,可能他用的仍然不够多,并不清楚明显能改进的地方。) |
62 glacier2002 OP @lolizeppelin #58 2.x 的 go 即将支持泛类型 |
63 wonderingray 2019-05-15 14:21:10 +08:00 如果 go 和 python 同时出来就不定谁火了吧?_ |
64 glacier2002 OP @wonderingray #63 神解 |
65 glacier2002 OP 看完各位的评论,看样子我需要把 python 撸一把。 谢谢各位看官了 |
![]() | 66 lidongyx 2019-05-24 01:42:22 +08:00 via iPhone 可能在程序员的世界里,Python 只是花拳绣腿,花架子很多,但是在非程序员的世界里,Python、SQL、前端三贱客虽然已经很流行,但是还远远不够。 |
67 zvall 2019-05-24 10:13:14 +08:00 人生苦短,我用 python |