量化投资原始数据策略:我们选用96年后的市场数据,因为96年股市有过一次交易政策改革(你可以自己查询了解一下),为了不影响研究结果我们不采纳96年以前的数据进数据库。
量化投资研究的硬设备:高计算性能电脑,家用电脑也可以,不过运算时间会很长,我曾经用家用电脑计算了三个月时间才得到想要的数据。
统计方法:可以选用遗传算法,但我在这里陪大家做的是比较简单的模型,所以采用普通统计方法就可以了。
用于量化研究的软件:我采用的是免费的大型数据库MYSQL,ASP网络编程语言,以及可以设置成网络服务器的旗舰版WIN7 *** 作系统
一说到量化投资,一下子蹦出来一堆厉害的语汇,例如:FPGA,微波加热,高频率,纳秒等级延迟时间这些。这种全是高频交易中的语汇,高频交易的确是基金管理公司做起来较为适合,平常人搞起来门槛较为高。
可是,必须确立一点量化投资不相当于高频交易。买卖假如依据频率来区划的话,可分成:高频率:ticke纳秒等级的1s等级中低频:1s~2h等级超低频:1d~2w等长线投资高频交易对延迟时间,特性和可靠性规定十分高,必须很多的硬件配置的成本费和人力成本。
可是中低频买卖对硬件配置规定便会低许多。本人与基金管理公司差别关键反映在优化算法上,普通程序也是有工作能力捕捉到这一频率的买卖数据信号。老头子废话不多说,就一个字,立即干!假如要想剖析A股,或是BTC,就必须自身构建一套自然环境。
一般构建一个量化平台必须这种流程:设立账户〉开发工具构建〉数据信息提前准备〉量化交易策略开发设计〉回归测试〉模拟交易〉实盘买卖一、设立账户(这里忽略)
一、开发工具构建现阶段流行的两种服务平台是,python和R语言。这两个语言表达有给予回测架构,时间序列分析剖析,数据分析的库,(C+和java还可以,但是门槛相对性较为高)。
Python:现阶段应该是最广泛的本人量化分析技术性优选 语言表达,由于有关的开源框架非常丰富多彩。R:高级优化算法较为便捷,小区较为活跃性。我选择的是Python,常见的回测架构用的是ZipLine和BackTrader。
二、数据信息提前准备中国的股票数据,有一些服务提供商给予,例如通联数据、tushare;海外证券数据信息能够从得这种数据信息后就可以导到数据库查询去。有关数据库查询的挑选,一般应用Mysql,假如信息量较为大(>100G)能够应用mogodb,一般本人不容易这么大信息量。
三、量化交易策略开发设计说到买卖优化算法,通常会想到深度学习、马尔可夫实体模型、数据分析、深度神经网络、神经元网络等这种厉害的AI语汇,可是,一般游戏玩家基本上用不上。
针对一般投资者能够采用简易高效率的优化算法:
1、将自身实际 *** 作和念头程序化交易,例如:三连阳,买低价股票或是你听闻过什么神奇的实际 *** 作技巧全是用编码完成,随后应用历史记录开展回测。
2.传统式的指标值买卖:移动平均线,MACD,布林线指标等,蜡烛图基础理论,RSI,江恩理论。这种纯技术指标分析指标值必须在特殊的情景才可以有功效,大家都听闻过海龟交易法,很有可能都觉得挺有些道理的。但具体情况怎样,用A股或是外汇数据测试一下,便会发觉长期性回报率并不是特别好。
3.多因子选股票:每一个投资者都是有自身的选股票基础理论,例如有些人会看市净率,股票换手率,市净率,领域状况,交易量。这种挑选要素非常简单,但要是以好几千个股里去挑选,通常必须很多活力。程序流程就能特别好处理这种难题。如果你是高级玩家还可以试着一下高级优化算法。
例如深度学习,数据分析等。互联网大数据在金融投资行业运用或是处在逐渐环节。从现阶段信息内容看来,互联网大数据基金收益率的算是非常好,例如百度搜索和广发证券协作的百发指数型基金,腾讯官方和嘉实协作的互联网大数据股票基金。
四、回归测试假如回测实际效果非常好,回报率,最大回撤率,Sharp值,等指标值,都是在可接纳的范畴内容,你毫无疑问便会激动,急着要上真正买卖,乃至逐渐方案创立私募投资基金,可是,别着急,最好是模拟交易一下。
五、模拟交易但在实盘买卖前,还必须做一两个月模拟交易。许多回测实际效果非常好的对策不一定在模拟交易情况下就主要表现得好。历史记录是固定不动,回测的情况下能够根据持续调节主要参数,让各类指标值趋向极致,有时会造成优化算法过度拟合,由于销售市场一直千姿百态,太过于呆板的优化算法是没法融入销售市场转变。
模拟交易最后实际效果一般在于你的程序流程是不是灵便,是不是优良的风险性和资金分配优化算法。
总结:对于说本人做量化投资是不是可靠,上边的步骤早已表明了实际可策划方案,可靠性显而易见。对于能否赚到钱,就看本人的修为了更好地。
首先我们要了解Java语言和Linux *** 作系统,这两个是学习大数据的基础,学习的顺序不分前后。Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据。基础Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。好说完基础了,再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。记住学到这里可以作为你学大数据的一个节点。Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以 *** 作它,因为它们都是用JVM的。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)