股票配资知识网_a股股票怎样加杠杆_合法的股票配资平台-实盘炒股杠杆平台 量化研究分享:如何用python抓涨停双响炮
你的位置:股票配资知识网_a股股票怎样加杠杆_合法的股票配资平台 > a股股票怎样加杠杆 > 实盘炒股杠杆平台 量化研究分享:如何用python抓涨停双响炮
实盘炒股杠杆平台 量化研究分享:如何用python抓涨停双响炮
发布日期:2024-11-10 19:54    点击次数:117

首先说一下什么是涨停双响炮实盘炒股杠杆平台,即前几日有涨停板,随后调整几天,然后再涨停。(这是基础条件,也可再增加条件)

例如本周五(4月7日)的奥飞娱乐:

图片

南宁糖业:

图片

涨停双响炮是典型的短线牛股形态之一,在市场中非常常见,走出双响炮的股往往后市有不错的行情。

了解了什么是涨停双响炮后,接下来进入今天的正题,如何用python实现双响炮的实时监控。

1.环境准备

以聚宽为例,我们先导入相关库,并设置好需要监控的时间。

from jqdata import *#聚宽研究环境#import jqdatasdk#本地环境,需要账号认证#from jqdatasdk import *import datetimeimport timeimport pandas as pdimport numpy as np
#设置研究时间period=10#研究最近10天的数据today0=datetime.datetime.today()#自动获取当天日期+时间today1=today0.strftime('%Y-%m-%d')#转化格式:日期trade_days=get_trade_days(end_date=today1,count=period)#获取最近period的交易日期trade_days=list(map(lambda x:x.strftime('%Y-%m-%d'),trade_days))today=trade_days[-1]#今天pre_date=trade_days[-2]#上一个交易日print('今天是{},上一个交易日是{}'.format(today,pre_date))

2.获取数据

首先过滤原始股池,剔除科创板、新股、ST股等,得到过滤后的股票列表:

#过滤股池def get_normal_stocks(date,new_days=60):''' 获取全部股票代码,并过滤掉st、退市股、新股、科创板、创业板等 :param date:目标日期 :param new_days:60天前上市 ''' trd_days = get_trade_days(end_date=date, count=new_days) stock_data = get_all_securities('stock', trd_days[0]) stock_data=stock_data[~stock_data.display_name.str.contains('ST')] stock_data=stock_data[~stock_data.display_name.str.contains('//*')] stock_data=stock_data[~stock_data.display_name.str.contains('退')] stock_list=stock_data.index.tolist() stock_list=[stock for stock in stock_list if not stock.startswith('688')] stock_list=[stock for stock in stock_list if not stock.startswith('30')]return stock_list
stock_list=get_normal_stocks(pre_date)

然后我们获取这些股票近期的行情数据,这里只用拿到收盘价和涨停价就可以了:

#获取截至昨天收盘近10日数据df_raw = get_price(stock_list, start_date=None, end_date=pre_date,count=period,frequency='daily', fields=['close','high_limit'],skip_paused=True, fq='pre',panel=False)print(len(df_raw))

最后筛选备选股池,我们可以人为规定双响炮两个炮台的时间间隔,比如10天以内。注意,抓双响炮是在走出双响炮第二根炮台的当天买入,而不是已经走出双响炮后一天再买入,那样就没有意义了。

那么双响炮备选股条件定义为:

1.近10日内有涨停

2.昨日未涨停

#筛选备选股#条件:1.昨日未涨停2.近10日内有涨停rec_zt_df=df_raw.loc[df_raw.close==df_raw.high_limit]#近10日涨停股rec_zt_list=list(set(rec_zt_df['code']))#近10日涨停股列表pre_zt_list=rec_zt_df[rec_zt_df.time==pre_date]['code'].tolist()#昨日涨停股列表cand_list=list(set(rec_zt_list).difference(set(pre_zt_list)))#备选股列表cand_preclose_dict={}#存放被选股昨日收盘价for code in cand_list:    pre_close=df_raw[(df_raw.time==pre_date)&(df_raw.code==code)]['close'].values[0]#昨日收盘价    cand_preclose_dict[code]=pre_closeprint('备选股总计{}只'.format(len(cand_list)))

备选股筛选好后,我们就可以在盘中进行实时监控了。

3.异动监控

我们选用分钟级别的监控频率,可以自由控制需要监控的时长:

#用于盘中实时监控,频率为每分钟,9点30分之后运行for i in range(120): curr_time=datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S')if curr_time[-8:-3]>='15:00': print('==结束今日监控程序==')breakelse: print('**********'+curr_time+'**********') curr_df=get_price(cand_list,count=1,end_date=datetime.datetime.today(),frequency='1m', fields=['close','high_limit','volume'],skip_paused=True, fq='pre',panel=False)for code,pre_close in cand_preclose_dict.items(): curr_p=curr_df.loc[curr_df.code==code].close.values[0]#当前价格 curr_v=curr_df.loc[curr_df.code==code].close.values[0]#当前成交量 curr_r=round((curr_p-pre_close)/pre_close*100,2)#当前涨幅if (curr_r>5)&(curr_r<7): print('warning-5:',code,security_code_name_dict[code],' 涨幅:',curr_r,'成交量:',curr_v)if (curr_r>=7)&(curr_r<9): print('warning-7:',code,security_code_name_dict[code],' 涨幅:',curr_r,'成交量:',curr_v)if (curr_r>=9): print('warning-9:',code,security_code_name_dict[code],' 涨幅:',curr_r,'成交量:',curr_v) time.sleep(60)

监控效果如下:

图片

为了方便演示,这里我们只对涨幅和成交量进行监控,实际上,所有其他的盘口信息都可以进行类似的监控。这样一来,我们就可以在第一时间关注到可能走出涨停双响炮的牛股了,是不是很简单呢?

​实盘炒股杠杆平台

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。

相关资讯