在做量化时,会严重的发现,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 2019-05-14 09:22:03 +08:00 via iPhone
容器周边都是 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 7
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 1
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 1
lz 也只提到一点优势,速度。相对于生态,速度真的是权重非常小了。
而且 python 做原型做科研做探索,根本不太介意速度。教授和学生们选择 matlab 和 R 需要认真考虑速度吗? 真要到生产环节,速度也有多种弥补方式,架构对速度的影响远大于虚拟机和 GIL。 再具体化到功能或者指令级的速度优化,也有太多的选择。c/c++做 python 的底层已经是业界常规,框架、系统级开发 go 的面前还横着一个 rust 插队,旁边一个 julia 横空出世打着 python 继任者的旗号。 go 在 python 的领域实在看不到啥机会。 |
27
ZSeptember 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
Humorce 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
|