至快、至简、至强: Arthur Whitney的kdb+
kdb+是一个可驻留内存、基于列的数据库产品(in-memory、column-based database)。Arthur Whitney的Kx公司于2003年推出kdb+。
kdb+目的单纯而明确:一切为了以最快速度分析最海量金融数据。Arthur Whitney深谙机构投资者对海量数据处理的需要,将kdb+铸造成至快、至简、至强的终极武器。
至快
kdb+可以在1秒钟内处理百万条记录。
将kdb+数据库部署在局域网的时候,如果网速没有千兆,很容易成为kdb+的拖累。
至简
1、语言简洁:kdb+源自最早的数组语言APL,继承了APL至简的编程风格。
2、使用简单:kdb+支持SQL标准。Arthur Whitney将APL的简洁与SQL的易懂融为一体,形成Q语言。大大降低新手入门的难度。
3、程序精简:下载的kdb+压缩文件只有183K。解压缩即可使用。(也是绿色软件:)
至强
1、历史数据与即时数据无缝结合。可轻松支持数G、数T的数据。
2、纯正数组语言,操作时间序列得心应手。
3、Arthur Whitney与APL的发明者共事多年、又亲手帮助Morgan Stanley和UBS原创相关定量系统,千锤百炼之后建立自己的公司。Arthur对定量投资的需求理解至深。kdb+可谓其巅峰之作。
学习kdb+的Q语言,不由联想到文艺复兴时期安格尔历经二十六年、终于在七十六岁高龄才完成的少女画作。清水芙蓉,纯然没有雕饰。(经网友提醒,删除安格尔画作,以免被当作河蟹一锅炖了。)
又或者象东方的禅宗。不立文字、直指人心。
kdb+相关网络资源(最新版本)
下载
kdb+免费下载 供非商业用户、研究性用户测试、评估
入门
K as a Prototyping Language by Dennis Shasha。 纽约大学Shasha教授是Arthur的好朋友。也是K的推广者。
Kdb+ Database and Language Primer by Dennis Shasha。
Java_vs_K Google的Michael Schidlowsky用Java和K来解决同一个问题。清晰的屏幕展示和英文介绍。不用说,这又是一个K粉。
A Shallow Introduction to the K Programming Language, By jjayson, 2002
帮助文件
示范代码
http://code.kx.com/ kx公司网站上的示范代码。用户名/密码:anonymous/anonymous
http://kx.com/a/ 能够翻墙、但不够利索的同学可以在此下载Kx公司网站上的有关K、kdb、kdb+示范代码
Eugenes的K idioms 一千多种K示范代码
no stinking loops K以及相关语言的资料。文件直接下载
Milan的K代码 大量K示范代码
Kevin Lawler的Very Small k Programs
some codes by a kdb+ stat arb trader
渊源
An Interview with Arthur Whitney, 2004
J vs Kdb+/Q 关于J、K、Q以及kdb、kdb+名词辨析
社区
Kdb+ Personal Developers Google小组
其它
Conway's Game of Life in one line of APL 如果觉得Q不太直白,可以看看这篇文章。Michael Gertelman展示了APL的力量和简洁。也许过于简洁了?:)
Studio for kdb+ 一个免费的kdb+编程辅助界面
高清无码,小心河蟹哦。
图片抄袭自新华网。:)
你应该打个码
不会打码啊。而且,如果我来打码,肯定挨骂。
干脆删了算了。多谢提醒。
延伸阅读:
HDF5: 专门用于管理海量、复杂数据集的免费开源技术。NASA也应用HDF5技术。 HDF的意思是Hierarchical Data Format。由NCSA发明。支持多维数组和表。最新的matlab已经将HDF5作为主要存储模式。免费的PyTables提供了python的HDF5支持。
最新进展:matt.warren最新编写了一个开源的qpy项目。
It allows you to send queries and data to the database and receive data back.
一个个人博客:Practical Advice on KDB+/Q。估计作者用kdb+来做金融分析。提供了一些代码示例。
看泉,入神了。
中文互联网上又一个关于Q语言的地方:Babelnova(巴别诺瓦) 社区的Q笔记。这是个专注于APL类语言的半封闭社区。其实itfin在海洋的帖子上早就提到了这里。今天重读,重新发现。:)