楼主: gsjclgz
1672 0

[程序化交易] 如何寻找K线中的启明星 [推广有奖]

  • 0关注
  • 8粉丝

硕士生

37%

还不是VIP/贵宾

-

威望
0
论坛币
49 个
通用积分
6.1285
学术水平
10 点
热心指数
10 点
信用等级
10 点
经验
1090 点
帖子
52
精华
0
在线时间
154 小时
注册时间
2009-5-1
最后登录
2023-1-23

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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

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

具体的表现以乐视网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


二维码

扫码加我 拉你入群

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

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


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 12:24