水晶球APP 高手云集的股票社区
下载、打开
X

推荐关注更多

柴孝伟

买进就值,越来越值,时享价...


邢星

邢 星 党员,国...


石建军

笔名:石天方。中国第一代投...


揭幕者

名博


洪榕

原上海大智慧执行总裁


小黎飞刀

黎仕禹,名博


启明

私募基金经理,职业投资人


李大霄

前券商首席经济学家


桂浩明

申万证券研究所首席分析师


宋清辉

著名经济学家宋清辉官方账号...


banner

banner

量化投资的个人浅解(1)----计算机篇

从头做小弟   / 2015-12-22 18:06 发布

量化投资在中国刚刚发展起来,很多大学也逐渐有这个专业了,期货方面的量化,程序化尤为甚见,股票,债券,期权等等的量化,程序化也会得到进一步发展。
    这系列都是个人对量化的理解,有差异,有不对,希望大家提醒纠正。

            以下是我百度的“什么是量化投资”,差不多都是这类意思




        简单说明下量化投资跟程序化投资的不同,量化是研究过程,是研究模型,而程序化是交易过程,简单的说就是用量化模型进行程序化交易。


        这里需要重点说明一个问题,“量化的回测可信吗?”,因为太多的主观交易者或者不懂量化的投资者会觉得这个是基于历史数据的回测,未来会发生什么完全不知道,我凭什么信你拿已有的东西做出一个看似很好的东西。当然会量化的就不会有如此想法。

       这里就可信展开说明一些问题,如果是一个很稳定的逻辑(比如日线MACD(12,26,9)大于0买进,赚10%止盈,亏10%止损,当然这个逻辑很简单,肯定赚不了钱,只是举例),我使用05年到现在所有A股所有日线数据进行回测,回测就是,当日买进MACD(12,26,9)大于0的股票,对已买的股票(不包括当日买的)达到止盈止损的进行平仓,这样就能得到当日的净值,(回测需要扣除手续费印花税滑点等等,来回总的算千2或者更多,追涨模型需要更多,当然你可以计算历史所有买进每只股票带来的利润,比如达到1%那就完全可以对抗各种费用),得到每日净值就能得到净值图,计算年化收益,最大回撤,夏普值,等等,可信吗?当然可信,这里完全就是简单的逻辑没有任何人为的优化。如何一个模型的逻辑是稳定的,不变的,参数没有进行过度优化,那就是可信的,大数定律下概率分布使然。当然还有一种情况,有些人会故意做出很好看的历史回测,比如以上的MACD,我对参数12,26,9不停的优化,止盈10%,止损10%不停的优化,肯定能找到一个最优解使历史的回测特别好看,这个就是不可信的,因为未来什么参数下和什么止盈止损条件是好的,没有任何人知道,这是过度优化出来的结果。恩,希望大家对量化的可信度有所了解。
                      随意附上一个MACD的例子



        量化的过去,现在,未来,量化是什么大家都可以自行百度,不详讲。


                              本文主要说明“小白如何开始学习量化”
       首先这里假设你什么都不懂,不管是金融,数学,计算机样样小白。


1.你如果想做量化,你总得掌握一门最基础的计算机语言吧,这里我推荐的是C语言,谭浩强版的C语言,大家自行百度下载PDF学习,或者买书学习。如果你想做一个专业的量化研究员,至少这是必备之一语言,当然你可以学习其他的,个人推C语言。



2.如果你巧好学习能力很好,你学完C语言后,基本什么同花顺,通达信,大智慧,文华财经,TB等等这些简单的语言都是触类旁通的,不用学直接上手编程。如果你C语言没学好,你会觉得语言怎么那么多,而且语法还都不一样,当然很不幸你还不懂的怎么编程,说白了这些语言都是逻辑过程步编程,语法简单的换了一下而已。这个我帮不了大家,只能靠大家自己努力学习,努力编程,多动手。


3.你会说做量化那么麻烦啊,不想做了,你想赚钱,哪有简单事,想赚钱并且希望做量化的往下看,学习能力高的C语言估计半年甚至几个月就可以很熟了,学习不好的,只能告诉你慢慢学,多练,刻苦练。



4.有人会问,怎么花那么多时间做计算机的事情啊,金融炒股一点都没学,首先我不怎么喜欢看大篇的文字,所以金融的书我基本没看过,所有知识都是进入市场慢慢学的,而且这个对于学的会C语言的人来说,不难,很简单。无非就是一个知识积累罢了。


5.而后学会了C语言,那玩意就很多了,可以自己用C语言编写回测平台,程序化交易平台等等,因为我是学数学的,所以有学Matlab,其实这个我压根没学,C语言学的不错,Matlab直接上手就写了,Matlab最重要的就是矩阵了。学完C语言就很容易学好Matlab了。


1-5是关于学C语言和Matlab的,接下来说下如何搭建回测框架。


6.回测框架的搭建,这个很重要,你想对你的量化想法进行验证,你需要对这个想法在尽量多的历史数据下进行回测,以此知道这个想法怎么样。


7.个人的回测框架分为三部分,数据处理F_DATA(A1,A2,A3,...),策略库F_CL(B1,B2,B3,...),评价体系F_PRO(C1,C2,C3,...)
写好函数,调用就可以了,参数不要限死,尽量使你的回测框架覆盖你需要做的所有策略想法。当然函数里面还能调用各种函数,具体的就看你们自己实现了。

            数学篇将会是重点,金融篇其实很少,没多少可写的,后续都会献上。


注意:这里学C是个人经历,个人觉得学完C,其他语言都无师自通了,学C主要是为了过度到Matlab,SAS,这个才是我建模的真正工具。网上很多人提议python,这个大家可以学学,直接学了上手,不需要过度。