全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 量化投资
1913 0
2018-10-09

      启明星是股票在下跌过程中出现的反转信号,以一个或者两根长阴线,一个小十字星,以及一个中阳线或者大阳线并排为主要的特点。预示着下跌势头的衰减和上涨势头的确立。

     一般来说,在第一个交易日,出现了一个中阴线或者大阴线,有时候是连续两根阴线,这时候,恐慌情绪得到了释放,下跌的动能开始减弱,但是下跌的趋势还没有结束。往往第二天会跳空低开或者平开,继续探底,如果出现光脚的阴线,说明下跌趋势还将继续。如果探底后出现反弹,收盘以长下影线收盘,尤其是收为一个十字星,说明下跌趋势告一段落,市场还将继续观望。如果第三个交易日突然上涨,以红盘报收,且收盘价侵入了第一天交易日阴线的中间位置以上,说明反弹的力度很大,可以说明多方又重新回到场内,市场可能出现了反转,后市将可以看多。

具体的表现以乐视网2018-05-31日K线为例,就是以一个中阴线,十字星和中阳线排列的一个启明星的标准形态,而且后市也是一波比较大的反弹。

乐视启明星.jpg


下面以乐视网为例,给出寻找启明星的python代码

importbaostock as bs

importpandas as pd

import numpyas np

importmatplotlib.pyplot as plt

importdatetime

def get_his_k_data(stockcode = 'sh.600000'):

    login()

    # 详细指标参数,参见历史行情指标参数章节

    rs =bs.query_history_k_data(stockcode,

        "date,code,open,high,low,close,preclose,volume,amount,pctChg",

        start_date='2018-01-01', end_date='2018-09-13',

        frequency="d",adjustflag="2")

    print(rs.error_code)

    #### 打印结果集 ####

    data_list = []

    while(rs.error_code == '0') &rs.next():

        # 获取一条记录,将记录合并在一起

       data_list.append(rs.get_row_data())

    result =pd.DataFrame(data_list, columns=rs.fields)

    bs.logout()

    return result


def find_PositiveStar_NegativeStar(stockcode = 'sh.600000'):

    """找出启明星和黄昏之星"""

    #获取历史K线数据

    hisdata = get_his_k_data(stockcode)

    highlist = hisdata['high'].astype('float')

    lowlist = hisdata['low'].astype('float')

    openlist = hisdata['open'].astype('float')

    closelist = hisdata['close'].astype('float')

    zdflist = hisdata['pctChg'].astype('float')

    datelist = hisdata['date']

    for datestr,zdf in zip(datelist[-200:-100],zdflist[-200:-100]):

        print(datestr,zdf)

        

    for i in range(len(datelist)):

        if i > 2 and i < len(datelist) - 1:

            #前日出现了下跌,或者出现了连续两天下跌

            if zdflist[i-1] < -5  or  (zdflist[i-1] < -4 and zdflist[i-1] + zdflist[i-2]  < -6):  

                #当日低开,但是有长下影线

                if  (min(openlist, closelist) - lowlist > (abs(openlist - closelist)) ):  #or zdflist > 0

                    #次日上涨,且收复了之前下跌阴线的一半以上

                    if zdflist[i + 1] > 0 and closelist[i + 1] > 0.5*(openlist[i -1 ] + closelist[i - 1]):

                        print("at %s,%s出现了启明星  前日涨幅%f,当日涨幅%f,次日涨幅 %f"%(datelist,stockcode,zdflist[i-1] ,zdflist ,zdflist[i+1] ))

   

    print("end")


结果如下:

at 2018-03-30,sz.300104出现了启明星  前日涨幅-6.640619,当日涨幅-0.418410,次日涨幅 3.991587

at 2018-05-31,sz.300104出现了启明星  前日涨幅-7.407407,当日涨幅0.571428,次日涨幅 6.534091


end


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群