用过kdb, 用C#接收股票行情,存入kdb数据库,发现最大的问题是使CPU占用率100%, 几乎不能做任何其它事, 遂放弃. Q学习起来也不容易. 现在用python的pylab, pandas, 等库. pandas其实是python借鉴的R的东东. python用来回测自己的想法具有建模效率高的优点.
我用的是MATLAB,请问python、R、MATLAB在建模方面个有什么优缺点啊?我发现MATLAB如果要用面向对象的方法编程非常蛋疼,现在用Java替代,但是Java不能交互式运行。请问如果只考虑建模效率,什么语言最好?
Cpu使用率100%这事还真不知道。我用过的都是IT team单独建kdb server. 你的电脑是几个core,应该可以限制kdb的thread或者再单起一个server吧。Q真的很蛋疼。 Python这一套回测真的很好。
对,建模完全是python. 又能oop, 又能functional. 和Matlab比的话,numerical model/package少很多,但是够用。Matlab比较全面的一个solution,python各个component需要自己拼,不过该有的都有。python至少是一个general purpose language, 需要速度的时侯可以call c/c++ lib. 看你比较熟悉哪种了,个人认为如果你matlab用了很久,有一套backtest的solution, 没必要换。
量化方面的编程不太需要OOP啊,还是不要考虑Java了,建模效率肯定不行。 近两年Python在quant领域似乎有加速,Google了几篇文章,供参考: Python for Financial Data Analysis with pandas Which Programming Language is Best for Quants? QUANT READING LIST PYTHON PROGRAMMING Quantopian是个挺有意思的东西,也是用Python的。 另外,关于MATLAB和Python,matplotlib的介绍文档里有提到几句(从第三段开始),不贴过来了,大概是说:原本重度使用MATLAB,由于编程方面的限制而转向Python,但Python在绘图库方面不行,所以撸起袖管自己写了一个。 这个很对,切换平台在短期内可能是得不偿失的。
谢谢啊,我发现如果处理Tick数据的话,OOP比functional更容易编程,因为具体交易的时候也是根据event生成交易信号的。我原来MATLAB的一套方法更适合低频的策略开发。现在如果要使用Tick数据,我就直接用JAVA测试了,因为我的主要交易程序是JAVA,因此交易代码和测试代码也不需要写2遍。 但是JAVA无法像MATLAB那样交互式运行,感觉开发效率还是低了一点,MATLAB的OOP太不方便了。我会看看python是否适合我。你们在研究的时候是OOP用的多还是functional用的多?
哦。。。为什么不用OOP啊,实际交易的时候不是下面这样的模式吗? market data update event ---> model ---> signal ---> trade 以及 order update event ---> model ---> signal ---> trade matlab处理事件很蛋疼啊。。。 如果不这样的话,你如何模拟啊?谢谢!(我是指比较高频的策略,如果根据K线的话也不需要OOP)
to vinny, python 验证自己的想法更快一些吧. 可以写循环. R循环太慢了. 最好python与R结合起来用. 别太迷信OOP. 能用简单的方式实现的,就不用OOP. OOP也有不少缺点. 如果你学了JAVA, 你可以用下jython. 基于java环境的python. 我用kdb时电脑是一个core. 反正是不喜欢它了.
没用过KDB,理论上我用MYSQL就可以替代吧。楼主的思路基本可行啊,行情和交易分成两个模块,策略接受行情信号触发 交易模块下单。界面就是个单纯的监控。回测没研究过,按这种模式PYTHON也可以。不过楼主自己把整个从研究到交易一套系统做完要不少时间吧
请教jiaweiq兄. python与kdb+的接口. 你们公司用的哪一种啊? 1. Dan Nugents Python Library 2. qpy 3. PyQ http://www.timestored.com/kdb-guides/python-api
楼主的策略是否有测试过,或实际操作过? 感觉对于行情和交易通道的稳定性挺敏感的, 建议最好先建个简单的原型,快速测试一下,或者找个现成平台粗略测一下。 很多想法都是只能在脑袋里面能赚大钱,一测就想扔进垃圾桶那种。 楼主这个项目真要做得话,估计得计划个3-5年内做出来已经很厉害了,除非....