powerbaby / stock / 能利用爬虫技术做到哪些很酷很有趣很有用...

0 0

   

能利用爬虫技术做到哪些很酷很有趣很有用的事情?

2016-03-23  powerbaby
似乎还没有人说用Python选股?最近在做一个希望把Python的爬虫与机器学习的遗传算法结合的小项目,还顺便写了一个网站,给大家看看吧。

1.最开始是关注到传说中的“雪球热度指数”,又叫雪球杀猪榜,据说上榜的股票一般都命途多舛。自己也观察了一段时间,发现上面的股票经常进去不是跌停就是涨停。后来自己炒股就在想是不是自己也能利用下这方面的数据?

然后,我注意到雪球每一只股票旁边都有这样一栏内容——“XXXXX人关注了该股票”。

就想是不是能把所有股票的这些数据爬下来,刻量下每只股票的关注热度情况?哪只股票关注的最多?哪只股票关注的最少?
于是说干就干,用python原生的ullirb+re写了个爬虫脚本,爬下来2800多只股票专注人数,大概是这么个情况:
横坐标是各只股票的关注总人数,纵坐标是从SH600000——SZ000001——SZ300498,数据更新日期为03-11 9:00。临时做的图,比较简陋,就说下关注人数最多的是SH600036-招商银行,大概有71万多。具体的统计描述我就不说了,跟我接下来要讲的东西关系不大。

得到这个数据后我就想,假如我每天同一时间爬一次,是不是可以得到一个“每日新增关注人数变化情况”?如果定时在每天早上盘前爬取,是不是可以在开盘前就知道哪只股票新增加的关注人数最多?今天最火?最可能被爆炒?

2.还是说干就干,将之前的爬虫代码经过多线程和异步的优化后,爬取一次雪球上所有股票大概要5-6分钟,这个精度足够了。然后就边爬边学,自己又去看了点MySQL,过年回家看了些Flask,加上之前有些前端基础,就写了可视化展示数据的网站出来A股舆情分析

(顺便说一句,网很多flask的教程真是坑啊,思路很不清晰,最根本的东西都没搞清楚,建议大家先看看Web发展的历史,搞清前后端定义,了解交互的过程,再看看Flask的文档就可以了)
首页主要是搜索栏和卖萌用,搜索栏可以查询特定股票的走势和关注人数变化情况:
上面是股票的K线图和每日新增关注人数的变化
最下面是关注总人数的变化趋势。


当然,最主要的是“每日情报”,里面有每日Top10,按新增关注人数绝对值和百分比排序的二十只最热门股票。
经过这段时间自己观察,这些Top10的热门股票综合表现还都是很不错,经常早上看到top10出来,开盘后去查下实时分时图,发现大盘不崩的情况下,高开封板还是不少的。

3.但是因为这个观测是我今年1月4日才开始跑的,样本还是太少,而且之前的每日新增数据不可得(其实是可以的,最近在想要不要做),所以我一直没怎么进行回测,都在维护爬虫和网站。前几天看到数据量差不多了,还是用python的几个数据处理的库写了下“追涨杀跌top10策略”的回测。

按照每天以开盘价等份地买入新增关注人数“绝对值”的top15)的股票,以第二天开盘价卖出,剔除掉开盘一字板的股票,从2016-01-04到2016-03-11,一共45个交易日——(未计算交易费用,未考虑冲击成本)总收益为19%,标准差8%,最大回撤15%(这个的确有点大)
1.收益曲线与沪深300指数对比

明显可以看到top收益率是远高于同期指数的,但波动率也远大于沪深300

2.到底TopX是最优策略?
上面是按绝对值的top15来回测的,这里有绝对值/相对值和TopX两个维度,到底那种组合的收益率最高?收益曲线最好?
于是我从Top10-Top50依次回测了一遍数据,最后得到的结果:Top9 is the best
优矿
这次是考虑了交易费用和滑点的,可以看到收益率上表现还是不错的,但波动依旧明显较大,毕竟是追涨杀跌的策略,而且换手率很高,是个相当高频的策略。
44个交易日23.75的换手率,相当于每天换一半仓了,虽然这里的回测计算了交易费用,也将仓位设得较小已避免冲击成本的影响,但实际交易中可能会有更多的损失。

可能纯粹按照这个简单直接的top策略并不实用,我后面也针对性的做了些改进。

3.策略优化
——选股的优化
根据以往的数据来看,关注人数的暴涨一般对应两种情况:一种是默默连涨或者连扳了三四天,大家纷纷关注,关注人数暴涨;另一种是之前的K线走势没有任何预兆情况下的暴涨,可能是突然出了什么消息或者什么相关行情,板块有所变化。
所以我在后面的策略又加上了筛选条件,去掉了前五日涨幅超过18%的股票。(参数这里随便写的)

——止损止盈
然后设置了个股5%止损点,即开仓后当日跌幅超过5%,第二人即使仍在topX之列,也清仓出局。


4.加入遗传算法
大家看到这可能觉得我上面两种优化方法用的参数毫无理由,的确,我开始也是随便加着试的,所以现在这里就需要用到我们的遗传算法了......

具体回测效果明天再贴吧,今天先睡了...

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章
    喜欢该文的人也喜欢 更多