股票操作讲究低买高卖,如果你能买在低点,卖在高点,那么你就是高手;如果你能买在高点,卖在低点,那么你就是“韭菜”。所谓“一盈两平七亏”,对应的是中国的 A 股市场中有 10% 的高手和 70% 的韭菜。进入股市买卖的都觉得自己是高手,最后亏得底裤都没了。 今天我们从一个简单的模型来看看短线交易的成功率有多大?
短线交易模型的由来
所谓短线交易,就是在一个股价的地点买进,然后在几天之内卖出。
A 股大多数交易者都喜欢短线交易,他们都希望今天买入,明天就卖出,以此来赚快钱,殊不知短线交易是大多数人亏损最快的方式。
A 股市场上有一批最顶尖的高手,他们可以做到八年一万倍的神话,这类高手惊人收益率的来源就是短线交易,他们的镰刀专门伸向追涨杀跌的韭菜。
正式因为有这群人的存在,A 股还有一个著名的榜单,叫做“龙虎榜”。
沪深交易龙虎榜指每日两市中涨跌幅、换手率等由大到小的排名榜单,并从中可以看到龙虎榜单中的股票在哪个证券营业部的成交量较大。该数据有助于了解当日异动个股的资金进出情况,判断是游资所为还是机构所为。
我们的短线交易模型就是要从这个龙虎榜说起。 我在浏览东方财富网的龙虎榜时,无意中发现他们有个奇怪的数据,如下图所示:
这一栏数据表示的是近三个月内该营业部买入个股后3天个股上涨的概率。
我们都知道股票就是个概率游戏,如果我能够计算出一只股票的上涨概率,那么我就能根据概率来进行博弈了。如果我每次买入之后上涨的概率大于50%,那么每次下注的话,长期来看,稳赢啊!
我越想越兴奋,感觉发现了一座金矿!
我的脑海中顿时闪现了一个思路:根据每个营业部买入后3天个股上涨的概率以及营业部买入的金额占总买入金额的比例,我计算出每只上榜股票后面3天上涨的概率。
具体的步骤如下:
- 先将买入的营业部买入净额排序,换算成比例,例如:买入1:买入2:买入3:买入4:买入5=a
c:d:e;
- 查看营业部上榜后的上涨概率,例如为:A,B,C,D,E;
- 查看营业部上榜后的平均涨幅,例如为:A1,B1,C1,D1,E1;
- 计算综合上涨概率,公式为:(aA+bB+cC+dD+e*E)/(a+b+c+d+e)
- 计算综合涨幅,公式为:(aA1+bB1+cC1+dD1+e*E1)/(a+b+c+d+e)
- 计算得到的概率值越大越好,越大越值得搏击
数据准备
以上只是初步设想的一个简单模型,要进行实践,我们首先必须用历史数据来验证,看看这个模型是否可靠。
要验证这个模型的可靠性,我们需要龙虎榜数据和个股行情数据。
下面简单介绍一下这两个数据的获取方法。
龙虎榜数据
我们从东方财富的网页上来获取龙虎榜数据:http://data.eastmoney.com/stock/tradedetail/2020-03-20.html ,打开页面如下:
这个页面可以自定义查询日期区间,这就很方便的查询一段时间的数据了。
我们接着打开开发者工具,点击查询,就可以很容易地找到查询数据的请求:
我们获取到的请求为:
http://data.eastmoney.com/DataCenter_V3/stock2016/TradeDetail/pagesize=50,page=1,sortRule=-1,sortType=,startDate=2020-03-20,endDate=2020-03-23,gpfw=0,js=var%20data_tab_2.html?rt=26416119
在请求中,你可以带上开始和结束日期,将pagesize设置大一些,就可以一次性将一段时间的数据查询出来。
这里就是一个简单的 requests 请求,请求获取的数据也可以很方便的解析,我就不放代码了。
请求到龙虎榜的列表后,我们就可以查询每一个股票的龙虎榜详情数据了,我们点击列表中的“明细”,就可以跳到龙虎榜详情页面了,对应的 URL 为:http://data.eastmoney.com/stock/lhb,2020-03-23,002727.html
我们使用 requests 请求这个 URL,就可以获取到这个页面的 HTML 内容,然后解析 HTML 内容即可得到龙虎榜详情数据。
解析的核心代码如下:
1 |
|
通过这两步,我们的龙虎榜数据就得到了,我们把它存储到数据库。
个股详情数据
由于没有地方可以一次性获取到一段时间的个股数据,但是我们可以在东方财富网站上以找到当天所有个股的行情数据,URL 为:http://quote.eastmoney.com/center/gridlist.html#hs_a_board ,所以这个只能每天获取一次,然后累积一段时间了。
这个个股详情数据页面如下:
跟龙虎榜列表页面一样,我们可以很容易地找到获取数据的请求:
请求里面的主要参数有三个:
pn:页码
pz:每页记录数
fields:个股详情字段
同样地,我们可以将每页记录数设置足够大,以确保一次性获取所有个股数据。
获取方式很简单,我们就不贴代码了。但是有一点需要注意,这个个股数据是实时的,所以我们得每天收盘(下午三点)过后再获取,才能得到收盘数据。
回溯验证
每日选股
根据我们前面所讲的模型的步骤,我们的选股核心代码如下:
1 |
|
这里是严格按照前面的步骤来做的,最后将结果按照上涨概率倒序排列。
计算选股的上涨幅度
从龙虎榜中按照上涨概率将个股排序后,我准备选取最大上涨概率的股票来进行回溯。如果最大上涨概率的股票第二天开盘直接涨停,那么舍弃,再选择第二大概率的,以此类推。
由于股票的买卖价位决定了收益率的高低,我们无法知道真实操作中的买卖价格,所以这里我用三种策略来进行对比:
乐观值:第一天最低价买进,第二天最高价卖出。
悲观值:第一天最高价买进,第二天最低价卖出。
平均值:第一天平均价买进,第二天平均价卖出。
由于我们的上涨概率是上榜后3天的上涨概率,所以我们的买卖方式可能是:
第一天买入,第二天卖出;
第一天买入,第三天卖出;
第二天买入,第三天卖出。
这里我把上述情况归结为两种:第一天买入第二天卖出和前两天某一天买入第三天卖出。
根据上面的思路,我们的核心代码为:
1 |
|
通过上述方法,我们就获得了某一天所选出的股票的后三天上涨的幅度。
结果展示
我准备从三段不同趋势的行情来验证模型,分别是趋势上涨,趋势震荡,趋势下跌三种。
选取的时间周期都是一周,对应的大盘指数日K图如下:
为了更直观地展示效果,我将每个周期的上涨幅度用折线图来展示。
我们来看看上涨趋势的收益图:
下跌趋势的收益图:
震荡趋势的收益图:
我们先来进行纵向对比,很明显,不论在哪种趋势下,收益率的关系都是:乐观 > 平均 > 悲观。这也跟我们的常理相吻合,毕竟乐观和悲观是两种极端操作方法,而平均是介于这两者极端之间的。
我们再从上榜后2天和上榜后3天的方面来对比,我们可以看到,不论在哪种趋势下,上榜后3天的总体收益率比上榜后两天高,这也应该可以事先预想到。
接着,我们可以看到三种趋势下总体收益率的情况:三种趋势下,收益率并没有跟随不同的趋势而出现显著的特点,所以在三种趋势下,最大上涨概率的股票收益率没有显著的区别。换句话说,就是不管在何种趋势下,最好的短线操作都可以赚到差不多的收益。
我们来总结一下:如果你是市场上顶尖的选手,可以买在最低价卖在最高价,那么不论行情怎么样,你都可以获取不菲的收益;如果你是追涨杀跌型的韭菜,那么你做短线注定会亏损;如果你只是平均水平,那么你的收益很微薄,所以要想参与短线操作,你的水平至少必须在平均水平以上。
当然,股票市场上的变量很多,这只是一个简单的模型,考虑的变量也很少,而且验证的数据也相对较少,只能大致说明短线操作的收益情况,并不是严谨的论证。
总结
本文以龙虎榜为切入点,构造了一个简单的短线选股模型,然后进行了简单的回溯验证,所有结果仅以学习为主,不作为投资的依据,股市有风险,入市需谨慎啊,千万不要做绿油油的韭菜啊!