智能选股系统-2
目录
最近学了些新的算法,但是实验还没有完成。所以这篇文章继续记录下我的系统更新情况。
理论方面的知识我就不多加解释了,最近在看《海龟交易法则》,有些名词还是晕晕乎乎的,不过那些海龟成员的交易守则倒是和我的一些想法不谋而合,比如:
海龟们从来不去预测市场的动向,而是会寻找市场处于某种特定状态的指示信号。这是一个重要的概念。优秀的交易员不会试着预测市场下一步会怎么样;相反,他们会观察指示信号,判断市场现在处于什么样的状态中。
其实我根本不相信靠我个人利用目前市面上的一些主流算法能够准确预测出市场未来的走势,而我从一开始就没有打算将它们作为预测手段,就算做出来了,也只是纯实验,根本不可能用到实战中。不过技术手段还是可以很大程度得帮助人们做决策的。比如我第一篇文章就记录了如何通过AP聚类算法来计算出企业之间的相关性,通过购买相关性非常小的几支股票,会很大程度得降低投资风险。所以,我的这个系统也只是帮助我做决策,尽可能的智能化,这里的智能,不会掺加任何预测成分。
有趣的标准差 #
系统的回测标准,是根据均线与股价的差值是否大于他们差值的n个标准差。我的系统中默认为大于2个标准差则视为买入点,后来我反复观察观察数据,发现在收益排名靠前的一些symbol里面,总是会出现让人赞不绝口的交易周期。但是在这些交易发生之前,我是否就能够做好准备来迎接他们呢?这真是个令人兴奋不已的答案。
我觉得我的系统为我提供的信息并不全面,我还希望每天系统能够提示我今天股票的走势离我买入或者卖出还差多远。当然,我铁了心不会用预测的手段。所以我又仔细看了下标准差的含义。
标准差是反映一组数据离散程度最常用的度量方式。但是一般很难对数据取得总体标准差,因为你得到的数据并非是健康的。我们一般所用的标准差都是样本标准差,即从总体数据中抽样的数据所得到的标准差。在计算样本标准差时,自由度为 (n-1),其中n为样本的个数。当看到这里的时候,我还以为程序的里的函数用错了,后来翻了翻源码,才长吁一口气。

看来程序里面所计算的标准差都是默认的样本标准差。
样本量越大越能反映真实情况。而我所采用的数据在计算指标时尽量都是能采集到的所有的数据,这真是瞎猫碰上死耗子。但是为了验证这句话,我还是只采用了15年之后三年数据重新做了次实验,结果发现绝大部分的股票收益率降低了。

以我现在的认知,实在无法解释这一现象。我只能认为,数据表现的越真实,指标反应的越准确,下单也就会更加准确,盈利也就随之提高。无论怎样,也算是学到了,所以我赶紧在的代码上加上这样的标记,哈哈。

让信息更加明确 #
观察这些回测结果,总会碰到让人拍案惊奇的事情。比如下面这张图,如果在我人为操作中,股票在连续下跌那么多的情况下,我肯定不会选择建仓,并之后5天连续加仓。但是程序会,它只是认为指标到达我设的要求,那就应该执行。

几乎每次交易都踩到的点上。带着好奇心,我截取了一部分交易详情。

可以看到,这个程序其实并非很智能,甚至很是痴呆。价格偏低的时候就一直买买买,当价格到达交叉点时就全部卖掉。不过就是这样看似很痴呆的操作,却总是会发生盈利。为什么?因为均值回归呀。
从图中可以看到,在2017年这支股票一共产生了4个交易周期。第1个交易周期用时15天,产生了3400元的利润。第2个交易周期用时22天,产生了2400元的利润,第3个交易周期用时12天,产生了3000元的利润,第4个交易周期用时8天,产生了400元的利润。这只是其中一只表现较好的股票。并且这只是我用30000元做的回测哦。在我的回测结果里面,还有很多这样类似的交易。但是,我该如何准备好每一次交易呢?
最开始的想法是第二天挂盘交易,我想第二天会有很大的概率踩到前一天的收盘价。但是遇到跌停或者涨停的情况,就一点办法也没有了,只能眼睁睁的看着交易机会从手中溜走。为了尽可能的避免这种情况的出现,我希望程序能够尽可能的为我提供更多的信息。于是我利用程序设置的交易规则,在plot时做了这些改善。

我的程序会在每个交易日的凌晨2点多自动开始执行,计算上一个交易日的数据。那么根据前一天的数据,会得到均线与价格之间相差几个标准差,通过这个值,我就大概能够知道如果今天价格走势如何,将会触发卖点或者买点。比如上图中提醒我在3月1日计算的相差标准差个数位0.22个,那么如果今日股票继续上行,很可能就要踩到卖点了,所以我可以一早就提前挂盘,等待成交。如果今日没有成交,就放弃这次交易,归根结底,就是尽可能的不去盯盘,交易时不掺加任何个人情绪。
做不到自控,就交给程序解决
看过不少交易员的心得,对于那些交易失败的同学,基本都败给了自己的情绪。这其实是一门高深的心理学课程。《海龟交易法则》里面也有说:你完全可以凭借那些闻名已久的理念和概念获得成功,但前提是,你必须始终如一地坚持这些法则。这就是交易的秘诀,也是海龟们成功的秘诀。
先不去讨论这句话的真实性有多高,单从古往今来这么多交易员口述自己失败的经历来看,始终如一确实是一件相当正确却很少有人能够认真遵守的法则。这,应该就是学习量化交易的原因之一吧。
回过头来看看自己这半个多月的劳动成果,也是很开心了,起码我认真的去实践了。


无论未来成果如何,我都会认真的去完善它,实践它,学习它。始终如一。
值得开心的是,目前已经有几个小伙伴订阅了我的邮件服务,希望在未来的测试中能够表现出好的成绩。我,还有很多事要做啊!
俗话说,劳动荣民最光人!