套利源码
‘壹’ 如何系统地学习量化交易
有TB和matlab就基本足够了,实现的话c++比较好。当然要看自身的知识背景和技术水平。
我的理解其实做量化交易很难有一个所谓的系统学习的过程,量化只是手段,交易的逻辑是多元化的,你可以通过形态描述、追踪市场不合理价差等手段切入,也可以把天体物理、小波分析、神经网络等复杂模型应用其中,你可以做的是K线结构上的策略,也可以做日线或每500毫秒数据进行决策的策略。
所有的一切目的就是为了获利,所谓量化和程序化只是实现这一目的的手段。
你可以通过各种手段了解做量化时注意的细节,比如如何避免使用未来函数、如何理解每一条数据的意义、测试与实盘之间的差异、不同测试软件的优缺点等等。但你没法去“学习”量化交易,因为不会有人把自己真正赚钱的东西拿出来,如何赚钱必须自己去挖掘
首先从高频交易分类来说,您研究的期现套利只是其中一种,股指期货刚推出的时候和现货的期现套利收益率还不错,近两年低到有时甚至不到无风险收益率。国债期货和现货套利空间在推出后很快就消失了。以后推出了期权,可能会有一定机会,但应该风险很高。其实从国外来看,高频交易最大的用处是做市商交易,快进快出提供市场流动性,这种策略在中国订单驱动市场显然很难。然后就是后面答案中提到的趋势交易,利用KDJ,SAR,海龟法,割头皮法之类的策略判断市场方向进行交易,这也是国内期货公司和大部分量化私募的方向。不得不说,这种策略参数选择基于过去,可能会过度优化参数或者加入拍脑袋主观想法,有时候赚很多倍有时候很快赔光。一般的策略都回撤太高不适合投资。最后有一种,是目前我所了解的比较先进的方法, 隐含马尔可夫模型(HMM),这也是西蒙斯的文艺复兴在做的方法。具体策略我学识有限了解不深,这是一种随机过程的方法,《数学之美》里介绍过利用HMM来语音识别。因此,我建议题主如果真的有志于高频交易应该首先读一个数学或者计算物理的博士,编程能力并不是高频交易的核心竞争力,数学理论才是。当然,本人阅历能力有限,仅了解皮毛,随口一说,欢迎拍砖
Python入门更快,但是java的运用更加广泛,所以二者各有各的优缺点,要学哪个还是要根据自己的实际需求情况来进行判断和选择。
首先来了解一下java与python各自的特点:
Java:高度面向对象的高级编程语言
设计初衷是“写一次代码,在哪里都可以用”,可以完成任何规模的任务,所以它也是很多公司在做商业级项目的时候的普遍选择。
Python:拥有简洁语法的高级编程语言
设计初衷是“让代码读起来更轻松”,并且让程序员们比起用其他语言,可以写更少的代码,事半功倍。
最后是给初入行业的新人一些学习建议:
如果你只是编程爱好者,或者把编程语言作为一个工作中的应用工具,Python是个不错的选择。如果你想在程序员的道路上稳步发展,建议先学习Java,再学python,C++,JavaScript,PHP等其他语言,会事半功倍。
一名优秀的程序员,绝不会只靠一门语言走到黑,通吃它们就完了!兼容并蓄,触类旁通,这才是一个成熟IT从业者该有的心态!
想要系统学习,你可以考察对比一下开设有相关专业的热门学校。好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝学有所成!望采纳!
‘叁’ 编程:Java和Python的区别
Java和Python的区别如下:
1. Java必须显式声明变量名,而动态类型的Python不需要声明变量。
2. Python是一种语法简单的功能强大的语言,能够通过编写脚本就提供优秀的解决方案,并能够快捷地部署在各个领域。
3. Java可以创建跨平台的应用程序,而Python几乎与当前所有操作系统兼容。
4. 对初学者来说,Python比Java更容易上手,而且代码易读性强。
5. 速度,Java和Python都不适合高性能计算,但在性能上,Java还是略胜一筹,Java的效率优势体现在虚拟机执行,程序执行时,JVM可以将字节码转换为本地机器码,这种即时(JIT)编译让Java的性能略胜Python,但是Python针对性能进行微调,以提高Python效率。
Java和Python都是富有活力的编程语言,这两种语言与开放性相关联,所以公司,团队和程序员在做出决定时最好保持开放的态度。至于,程序员到底该选择哪种编程语言,可以结合上述五点自行比较,但更多的程序员似乎更倾向于Python,毕竟Python在人工智能、数据分析、云计算等领域具有更好的发展前景!