量化选股公式集锦

发布于: 雪球转发:14回复:2喜欢:40

下文基本来源于陶博士,

一。上市一年以上:

通达信软件,Control+F,

条件选股公式--其他类型:

BARSCOUNT(C)>N;

N为参数,一般设为250,(1.250.500)

一月更新一次就可以。

二,新建一个技术指标的公式

建立一个小公式,命名为“EXTRS”,用来计算股票涨跌幅

EXTRS:(C-REF(C,N))/REF(C,N);

N缺省值为250。(1.250.500)

通达信软件,Control+F,技术指标公式—其他类型‘

三,建立扩展数据,对股票涨幅进行排序。

通达信软件输入:.902,进入扩展数据管理器。

点击上图中的修改,在扩展数据属性里首先设置数据1如下:

技术指标公式选择新建的“EXTRS”指标

计算参数为120(对应半年期的RPS)

计算时段为本地所有数据

计算品种为“自定义板块”下面的“上市一年以上”这个板块

勾选“精确复权”及“生成横向排名数据”

排名方法为“0-1000归一化顺序”

再重复上述步骤, 在扩展数据属性里首先设置数据2,计算参数为250(对应一年期的RPS)。

再重复上述步骤, 在扩展数据属性里首先设置数据3,计算参数为120(对应半年期的RPS)。

三,新建一个技术指标公式:股价相对强度RPS。

通达信软件,Control+F,技术指标公式—其他类型—新建:

股价相对强度RPS, 出两条彩线的代码如下:

X:=EXTDATA_USER(1,0);{120天的}

RPS120:X/10,LINETHICK2,COLORGREEN;

IF(RPS120>=M,RPS120,DRAWNULL),LINETHICK2,COLORRED;

;

Y:=EXTDATA_USER(2,0);{250天的}

RPS250:Y/10,LINETHICK2,COLORWHITE;

IF(RPS250>=M,RPS250,DRAWNULL),LINETHICK2,COLORRED;

M是参数,可以根据自己的偏好设为85-90,我个人偏好90。意思就是RPS大于90时,显示为红线。(80-100-90)

确保下载完整的历史数据。

切记1:下载完整的历史数据!这个只需要操作一次。

通达信软件的菜单—系统—盘后数据下载:请自行修改下载的开始时间

切记2:,需要每天存盘下载日线数据,并全部刷新两条扩展数据。这个操作每天收盘后,都需要进行一次,才能显示最新的RPS曲线。

然后在股票K线界面输入:RPS。就出现两条RPS曲线了。如某只股票的RPS曲线如下图,绿线为半年期RPS,白线为一年期RPS,超过90时,显示为红线,一目了然。

四,基金持股3%的条件选股公式如下:

FINVALUE(255)/FINVALUE(239)>=3/100;

这个公式选出来的股票是基金持有流通股比例超3%的股票。

五,北向持股三千万的条件选股公式如下:

GPJYVALUE(6,1,1)*C>30000000;

下载最新的专业财务数据之后,选股

通达信软件,点击左上角的“系统”,再点击其下菜单里的“专业财务数据”,再点击“开始下载”:

Control+T,开始选股:

左上角的下拉菜单,选择:基金持股3%,点击:加入条件

选股时间范围选定为:2018-09-01至2018-12-31,选股结果有1188只。(最近一季度)

选股时间范围选定为:2018-09-01至2019-01-02,选股结果有1189只。

选股入板块:基金持股3%+北向持股三千万

如果不选时间范围,系统默认是2018年三季度报告的数据,则只有784只股票。因为三季度报告的基金持股数据并不全面,所以我喜欢将2018年中报和三季度报告的基金持股数据合并起来观察。

注意:一般来说,年报和中报的基金持股数据较为全面,一季度和三季度报告的基金持股不全,因此,每次更新基金持股3%的数据,应当都包括年报或者中报的数据。基金持股3%的数据,一个季度更新一次即可。

六、港资持股

点击:新建(注意是技术选股公式,不是条件选股公式)

港资持股的源代码如下:

NOTEXT曲线:GPJYVALUE(6,1,1),COLORFFFF00;

IF((GPJYVALUE(6,1,1)/FINANCE(7))>0.01,NOTEXT曲线,DRAWNULL),LINETHICK1,COLORRED;

IF((GPJYVALUE(6,1,1)/FINANCE(7))=0,NOTEXT曲线,DRAWNULL),LINETHICK1,COLORWHITE;

IF((GPJYVALUE(6,1,1)/FINANCE(7))>0 AND (GPJYVALUE(6,1,1)/FINANCE(7))<0.01,NOTEXT曲线,DRAWNULL),LINETHICK1,COLORCYAN;

持股量:GPJYVALUE(6,1,1)/10000,COLORLIBLUE;

万股:DRAWNULL;

占流通比:(GPJYVALUE(6,1,1)/FINANCE(7))*100,NODRAW;

占总股比:(GPJYVALUE(6,1,1)/FINANCE(1))*100,NODRAW;

增减万股:(GPJYVALUE(6,1,1)-REF(GPJYVALUE(6,1,1),1))/10000;

增减:=GPJYVALUE(6,1,1)-REF(GPJYVALUE(6,1,1),1);

IF(增减<0,增减,DRAWNULL),STICK,LINETHICK4,COLORCYAN;

IF(增减=0,增减,DRAWNULL),STICK,LINETHICK4,COLORWHITE;

IF(增减>0,增减,DRAWNULL),STICK,LINETHICK4,COLORRED;

制作港资持股曲线的第三步,下载最新的专业财务数据。

通达信软件,点击左上角的“系统”,再点击其下菜单里的“专业财务数据”,记得每天下载这个数据哟。

然后在通达信软件里面输入:GZCG(港资持股),就能在副图中看到港资持股曲线了。

七,月线发转5

月线反转5.0版本的技术指标公式

技术指标公式编辑成功之后,如果有月线反转信号,会自动显示在日K线图上。

打开通达信软件,大部分证券公司的软件都是以通达信为基础的,都是可以编辑公式的。

Control+F,技术指标公式--其他类型---新建:

编辑月线反转5.0版本的技术指标公式,取名为MA3,与均线指标公式放在一起,右上角的画线方法,选择:主图叠加

均线的参数可以根据自己的偏好进行调整,我个人偏好的均线的参数是10,20,50,120,250

月线反转5.0版本的技术指标公式的源代码如下(建议无脑复制):

MA10:MA(CLOSE,10);

MA20:MA(CLOSE,20);

MA50:MA(CLOSE,50);

MA120:MA(CLOSE,120);

MA250:MA(CLOSE,250);

Z:=EXTDATA_USER(3,0);{50天的}

RPS50:=Z/10;

D:=IF(RPS50<=85,0,1);{RPS50大于85}

A:=C/MA(C,250)>1;{站上年线}

NH:=IF(H

B:=COUNT(NH,30);{一月内曾创50日新高}

NN:=IF(C>MA(C,250),1,0);

AA:=COUNT(NN,30);

AB:=HIGH/HHV(HIGH,120)>0.9;{最高价距离120日内的最高价不到10%}

DRAWICON(BARSSINCEN((A AND B AND D AND AA>2 AND AA<30 AND AB),30)=0,LOW,34);

=======================================

月线反转5.0版本的技术指标公式的几个条件是:(1)日线收盘价站上年线;(2)一月内曾创50日新高;(3)50日的RPS大于85;(4)收盘价站上年线的天数大于2,小于30;(5)最高价距离120日内的最高价不到10%;

公式中最后一句话的意思是指30天内第一次满足月线反转的信号时,将在该日k线下方画表情34(一个黄色图标)。最后一句AND前后应该都有空格。

在证券软件里,输入:MA3,日K线主图就会显示MA3,当30天内首次有月线反转信号时,日K线主图会显示下图这样的黄色图标:

(注:必须输入MA3,日K线的主图才能显示黄色笑脸图标)

(D:=IF(RPS50<=85,0,1);{RPS50大于85},这一句话是5.0版本修正的一个BUG)

注意事项:信号飘移的解决办法

老油 2018-10-08 17:37:01

博士您好,发现很多网友都在问月线反转信号显示出来跟博士不一致的问题。我自己也遇到了这个问题,现在基本解决。说出我的方法或许能帮到遇到同样问题的人。拿上海钢联为例,我的是1月18日才有信号,随后连续出现三次持续日期很短(仅持续一天的尖尖地类似山峰)的信号。研究后发现是年线不全的问题,解决方法有三个:1.通达信--工具--系统设置--设置2,选择快速网络(依然不是完整数据,但足够用了,推荐);2.缩小视图后再放大(优点是不用任何设置,缺点是下次使用时还要重复这一操作。)3.下载全部数据后,通达信--工具--系统设置--设置1,勾选“分析图使用下载的沪深数据”。(忘了下载数据就不好了)

我个人采用了这位网友提供的第3个方法:3.下载全部数据后,通达信--工具--系统设置--设置1,勾选“分析图使用下载的沪深数据”。

如何运用月线反转5.0版本的条件选股公式进行选股。

通达信软件,输入:.905(注意905前面有一个点),或者按Control+T,进入条件选股界面:

上面界面中,左上角的条件选股公式的下拉菜单,拉到最后,选中前面建立的“月线反转”公式:

点击:加入条件,再点击:保存方案,再点击:确定(这样做的目的以后只需要点击引入方案,就可以添加这个“月线反转”的选股条件)

然后点击右下角的执行选股,就OK

选股范围,可以自行指定。我的选股范围为:基金持有超3%+北向持股(共1560只候选股),今天2019年3月10日的选股结果是188只股票。

如果选股范围是全部的沪深A股(共3599只候选股),今天2019年3月10日的选股结果是375只股票。

特别声明:月线反转5.0版本仅仅只包括技术分析的若干条件,基本面条件需要另行补充

我说的月线反转的股票池,这是一个仅仅根据若干技术分析的条件,通过计算机自动选出的初选股票池。

不能保证股票池中都是月线反转的股票。

但能保证月线反转的股票大都要进我的股票池,只是何时进入的问题。

这个股票池的建议更新时间是一周一次。您如果有时间,天天更新也无妨。

进一步的精选,我不能再讲了。否则又会有人指责我推荐个股了。

进一步的精选的思路,可以从行业、估值、市值、超预期、换手率、RPS和K线形态等综合研判。

万事皆圆 2018-10-02 06:10:00

谢谢博士案例教学

建议博士加一条:技术面只是必要条件,基本面才是根本因素。

所有上涨的股票都有好的技术面,但并不是所有好的技术面都一定上涨。技术面是基本面的表现形式。作为个人投资者,通过技术面发现一些标的,还是要通过基本面进行认真把关,切不可单纯依葫芦画瓢。

最后补充说明,我并没有对我的月线反转的公式测试过成功率是多少。第一,我主要关心我曾经相中的月线反转的股票,有没有出现过这个月线反转的信号。第二,我认为公式的成功率并不重要。2002年左右的时候,也就是16年之前的时候,我曾经测试过很多公式,甚至有的公式的成功率达75%以上。然并卵,我现在并不记得当时的任何一个公式了。第三,测试公式的成功率,评价标准似乎是20天涨10%。我这个月线反转的公式,也许可能并不在意这个时间的。也许我在意的是,一个成功标的,会不会在未来几个月内成倍的上涨。例如我2017年10月的月线反转之后的泰格医药,随后7个月翻倍。例如我2018年4月的月线反转之后的顺鑫农业,随后3个月翻倍。例如我2018年四季度的月线反转之后的猪肉股票,随后几个月翻了N倍。

八、接近一年新高”的条件选股公式

通达信软件,输入:.900(注意900前面有一个点),进入公式管理器

点击:条件选股公式

点击:其他类型

点击:新建,进入下图的条件选股公式编辑器

CLOSE/HHV(HIGH,250)>0.9;

注:这个公式的意思是今天的收盘价除以过去250个交易日之内的最高价大于0.9

九,次新股条件选股公式

RANGE(FINANCE(42),N1,N2);

(公式的上市的天数位于N1和N2之间。N1、N2是参数。N1的默认值为60,N2的默认值为1460)

十,小黄人(三线红)的技术指标(我自己是直接写在MA3指标一起):

K120:=EXTDATA_USER(1,0);{120天的RPS}

RPSK120:=K120/10;

K01:=IF(RPSK120<=90,0,1);{RPS120大于90};

K250:=EXTDATA_USER(2,0);{250天的RPS}

RPSK250:=K250/10;

K02:=IF(RPSK250<=90,0,1);{RPS250大于90};

K50:=EXTDATA_USER(3,0);{50天的RPS}

RPSK50:=K50/10;

K03:=IF(RPSK50<=90,0,1);{RPS50大于90};

DRAWICON(BARSSINCEN((K01 AND K02 AND K03),20)=0,LOW*0.95,15);

小黄人(三线红)的条件选股公式是这样的:

K120:=EXTDATA_USER(1,0);{120天的RPS}

RPSK120:=K120/10;

K01:=IF(RPSK120<=90,0,1);{RPS120大于90};

K250:=EXTDATA_USER(2,0);{250天的RPS}

RPSK250:=K250/10;

K02:=IF(RPSK250<=90,0,1);{RPS250大于90};

K50:=EXTDATA_USER(3,0);{50天的RPS}

RPSK50:=K50/10;

K03:=IF(RPSK50<=90,0,1);{RPS50大于90};

K01 AND K02 AND K03;

2020年金股,继续坚持量化选股的思路。我想测试一下这个小黄人(三线红)信号(详见《小黄人/三线红(20191201)》)。金股要求必须是9月1日以来,拥有三线红的条件。

首先在基金持股3%+北向持股三千万的大名单1787只股,增加小黄人(三线红)条件(时间段是2019-9-1开始),然后只剩下291只股票。然后增加港资增仓的条件(时间段是2019-11-1开始),就只剩下152只。

然后增加一线翻红的条件,要求最新收盘日,至少有一条RPS曲线是红的,就只剩下131只。

继续增加在120日线上,要求最新收盘价在120日线上方,只剩下123只。

A股总共3755只股票,我仅仅用这5个量化条件(全部是电脑自行选择),用电脑操作,一两分钟就缩减到了123只股票。这123只股票就是2020年金股的候选大名单。若干年前选股,那个费劲啊,通常翻很多股票也找不到心仪的好股。现在好了,一两分钟选出123只候选大名单之后,就只在这个大名单挑选了,感觉效率一下子提高了很多。

一线翻红的条件选股公式如下,要求最新收盘日,至少有一条RPS曲线是红的。

K120:=EXTDATA_USER(1,0);{120天的RPS}

RPSK120:=K120/10;

K01:=IF(RPSK120<=90,0,1);{RPS120大于90};

K250:=EXTDATA_USER(2,0);{250天的RPS}

RPSK250:=K250/10;

K02:=IF(RPSK250<=90,0,1);{RPS250大于90};

K50:=EXTDATA_USER(3,0);{50天的RPS}

RPSK50:=K50/10;

K03:=IF(RPSK50<=90,0,1);{RPS50大于90};

K01 OR K02 OR K03;

在120日线上的条件选股公式如下,要求最新收盘价在120日线上方:

C>MA(C,120);

港资增仓的条件选股公式:

占流通比增加:=((GPJYVALUE(6,1,1)/FINANCE(7))*100-REF((GPJYVALUE(6,1,1)/FINANCE(7))*100,30))>=0.5;{30天内港资增仓流通股份0.5%以上}

市值增加:=GPJYVALUE(6,1,1)*C-REF((GPJYVALUE(6,1,1)*C),30)>0.5*100000000;{30天内港资持仓市值增加5千万元以上}

市值增加 OR 占流通比增加;

全部讨论

2021-12-17 23:38

这个指标错误,怎么调整?