善思者,逆向而不逆势,顺势而为。
善谋者,先胜而后求战,百战不殆。
大道至简,化繁为简,砥砺前行,永不言弃。
备注:专注指数、版块、数据量化研究。
我是一直都是一个实用主义者,需要什么就学习什么,现学现用,边用边学。造成很多东西没有系统性学习。从学数控,网页设计,淘宝电商,通达信软件编程,数据爬虫,到现在的python金融数据量化。以前其它行业感觉还好,但是发现python学习进度太快了。导致很多基础的基本功不扎实。在实际运用中比较被动,现学现用导致了工作效率低下。现在要从基础一步一步走了。
步子迈大了,容易扯着蛋
(注:本人没有系统学习过任何一门编程语言,很多基础语法都是错乱的。哈哈,用SS老师评价,你这个for循环“狗屁不通”!
)
-分割线-
==分享成果==
1
陶博士经典选股之公式:月线反转
通达信版:
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<HHV(H,50),0,1);
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%;
python版:
dp = rqdata.get_price(list(stock_list),start_date=sd,end_date=ed)
dp = dp.loc[:,:,stock_list]
c= dp['close']
h = dp['high']
h120 = h.rolling(120).max()
yx1 = rps50>85#RPS50大于85
yx2_1 = c > ma250#站上年线
yx2_2 = yx2_1.rolling(30,15).sum()
yx2 = (yx2_2 > 2) & (yx2_2 <30)#站上年线的天数大于2,小于30;
yx3_1 = h >= h.rolling(50).max()
yx3 = yx3_1.rolling(30,15).sum() > 1#一月内曾创50日新高
yx4 = c > h120 * 0.9#最高价距离120日内的最高价不到10%;
yxfz = yx1 & yx2 & yx3 & yx4
关于RPS的算法公式暂时先保密,懂通达信的人应该很好移植的。
2
股票魔法师:第二阶段
趋势模板的标准 股票必须符合以下8条标准,才能确认其已经处在上涨趋势的第二阶段。
(1)股价高于150日(30周)和200日(40周)均线。
(2)150日均线高于200日均线。
(3)200日均线上涨至少1个月(最好4至5个月或更长)。
(4)50日均线(10周均线)高于150日和200日均线。
(4)50日均线(10周均线)高于150日和200日均线。
(5)目前的股价比52周内最低点至少高出25%(许多最好的股票在健康的筑底期后能比52周最低点高出100%、300%甚至更高)。
(6)目前的股价处在其52周高点的25%以内(越接近新高越好)。
(7)相对实力(RS,Relative Strength)排名(就像Inventor's Business Daily报道的)不低于70,更好的选择一般是在90左右(注:RS线不应该有明显的下跌趋势,我希望RS线上涨至少6周,最好是13周以上)。
(8)因股价上涨突破前期底部,现价格应在50日均线之上。
通达信版:
MA50:=MA(C,50);
MA150:=MA(C,150);
MA200:=MA(C,200);
L250:=LLV(LOW,250);
H250:=HHV(HIGH,250);
RPS120:=EXTDATA_USER(1,0)/10;{120天的}
RPS250:=EXTDATA_USER(2,0)/10;{250天的}
GM1:=C>MA150 AND C>MA200;
GM2:=MA150>MA200;
GM3:=MA200>REF(MA200,20);
GM4:=MA50>MA150 AND MA50>MA200;
GM5:=C>L250*1.25;
GM6:=C>H250*0.75;
GM7:=RPS250>90 AND (RPS250>REF(RPS250,30);
GM8:=C>MA50;
GM9:=MA(V,3)>MA(V,10)*2;#成立量重新放大,书中下文
XG:GM1 AND GM2 AND GM3 AND GM4 AND GM5 AND GM6 AND GM7 AND GM8 AND GM9;
python版:
ma50 = c.rolling(50).mean()
ma150 = c.rolling(150).mean()
ma200 = c.rolling(200).mean()
ma250 = c.rolling(250).mean()
l250 = c.rolling(250).min()
h250 = c.rolling(250).max()
gm1 = (c > ma150) & (c > ma200)
gm2 = ma150 > ma200
gm3 = ma200 > ma200.shift(20)
gm4 = (ma50 > ma150) & (ma50 > ma200)
gm5 = c >l250 * 1.25
gm6 = c > l250 * 0.75
gm7 = rps250 > 90
gm8 = c > ma50
gm9 = vol >= (vol.shift(1).rolling(5).mean()*2)
xg =gm1 & gm2& gm3 & gm4 & gm5 & gm6 & gm7 & gm8 & gm9
只想告诉大家,如果你无脑出信号就买入上面的选股结果,亏的你妈妈都不认识你!!好东西也要好买点!
月线反转:
到现在亏40个点
股票魔法师:
到现在亏50个点左右
祝大家周末愉快!!