一说到量化交易,一下子蹦出一堆牛逼的词汇,比如:FPGA,微波,高频,纳秒级别延迟等等。这些都是高频交易中的词汇,高频交易确实是基金公司做起来比较合适,普通人搞起来门槛比较高。但是,需要明确一点量化交易不等同于高频交易。
交易如果根据频率来划分的话,可分为:
高频: ticke纳秒级别的 1s级别
中低频:1s~1h级别
超低频:1d~1w 等长线投资
高频交易对延迟,性能和稳定性要求非常高,需要大量的硬件的成本和人工成本。但是中低频交易对硬件要求就会低很多。个人与基金公司差距主要体现在算法上,普通程序也有能力捕获到这一频度的交易信号。
老夫废话不多说,就一个字,直接干!
如果想要分析A股,或者比特币,就需要自己搭建一套环境。一般搭建一个量化平台需要这些步骤:开设证券账户>开发环境搭建>数据准备>交易策略开发>回归测试>模拟交易>实盘交易
一、开设证券账户(此处略过)
二、开发环境搭建
目前主流的两种平台是,python和R语言。这两个语言有提供回测框架,时间序列分析,统计分析的库,(C++ 和 java也可以,不过门槛相对比较高)。
Python:目前应该是最普遍的个人量化技术首选语言,因为相关的开源框架相当丰富。
R:高级算法比较方便,社区比较活跃。
我选择的是Python,常用的回测框架用的是ZipLine和BackTrader。
三、数据准备
国内的股票数据,有一些服务商提供,比如通联数据、tushare;国外证券数据可以从 http://xignite.com获取。还有一些信息,比如新闻,汇率。需要自己写爬虫去抓取,如果用爬虫你就能体会到Python的好处了,爬取数据还是很方便的。
得这些数据后就可以导入到数据库去。关于数据库的选择,一般使用Mysql ,如果数据量比较大(>100G)可以使用mogodb,一般个人不会这么大数据量。
四、交易策略开发
说到交易算法,往往会联想到机器学习、马尔可夫模型、大数据分析、深度学习、神经网络等这些牛逼的AI词汇,但是,普通玩家基本用不到。对于普通交易者可以选用简单高效的算法:
1、将自己操作和想法程序化,比如:三连阳 ,买低价股 或者你听说过什么神奇的操作手法都是用代码实现,然后使用历史数据进行回测。
2.传统的指标交易:均线,MACD ,布林带等,蜡烛图理论,RSI, 波浪理论。 这些纯技术分析指标需要在特定的场景才能有作用,大家都听说过海龟交易法,可能都觉挺有道理的。但真实情况如何,用A股或者外汇数据测试一下,就会发现长期收益率不是特别好。
3.多因子选股:每个股民都有自己的选股理论,比如有人会看市盈率,换手率,市盈率,行业情况,成交量。这些筛选因素很简单,但要是从几千股票里去筛选,往往需要大量精力。程序就能特别好解决这些问题。
如果你是高级玩家也可以尝试一下高级算法。比如机器学习,大数据分析等。大数据在金融交易领域应用还是处于开始阶段。从目前信息来看,大数据基金收益的还算不错,比如百度和广发证券合作的百发指数基金,腾讯和嘉实合作的大数据基金。
五、回归测试
如果回测效果不错,收益率,最大回撤率,Sharp值,等指标,都在可接受的范围内容,你肯定就会兴奋,急着要上真实交易,甚至开始计划成立私募基金 ,但是,别急,最好模拟交易一下。
六、模拟交易
但在实盘交易前,还需要做一两个月模拟交易(paper trading) 。很多回测效果很好的策略不一定在模拟交易时候就表现的好。历史数据是固定,回测的时候可以通过不断调整参数,让各项指标趋于完美,有时候会导致算法过度拟合,因为市场总是千变万化,太过意死板的算法是无法适应市场变化。模拟交易最终效果一般取决于你的程序是否灵活,是否良好的风险和资金管理算法。
总结:至于说个人做量化交易是否靠谱,上面的流程已经说明了具体可执行方案,靠谱性不言而喻。至于能不能挣到钱,就看个人的修为了。
要相信:总有高手在民间。 |