美文网首页股票策略
找到连续下跌n天的.股*票

找到连续下跌n天的.股*票

作者: 朝朝朝朝朝落 | 来源:发表于2022-03-01 16:25 被阅读0次

所谓跌久必涨, 事不过三, 只要不是垃圾股, 持续跌, 就大概率会涨起来

会用到的财经数据接口, 1, tushare, https://waditu.com/, 注册获取自己的token,

WX20220301-135616@2x.png

2, 现在tushare好多接口都提高权限了, 所以需要第2个,baostock, http://baostock.com/baostock/index.php/%E9%A6%96%E9%A1%B5, 当然还有第3个可选, 聚宽,https://www.joinquant.com/:

首先, 获取交易日, 确保n天里没有非交易日:

WX20220301-141406@2x.png

有了交易日, 我们就可以获取这些天全部下跌的股票了,获取n天里每个交易日下跌的股票, 考虑到韭菜资金少, 你可以选择自己能买得起的股票价格区间, 土豪默认全部:


WX20220301-155413@2x.png

取每天的交集, 最后输出dataframe:


WX20220301-155505@2x.png
#找到连跌n天的股票
import tushare as ts
ts.set_token('4880ea14a96548a小星星5410c6230c4de11622188')
pro=ts.pro_api()
import baostock as bs
 # tushare通用没有-, baostock通用有-
todaydate = time.strftime('%Y-%m-%d',time.localtime(time.time()))

def get_tradedate(aimdate,n,start_date):
    '''
    获取交易日
    aimdate: 目标交易日 如, 2022-03-01, 默认今天
    n: 从今天算获取今天之前的几天, 默认5
    start_date: 开始日期, 默认2022-02-01
    '''
#    aimdate,n,start_date='2022-02-27',5,'2022-02-01'
    
    lg = bs.login()
    rs = bs.query_trade_dates(start_date=start_date, end_date=aimdate)
    data_list = []
    while (rs.error_code == '0') & rs.next():
        # 获取一条记录,将记录合并在一起
        data_list.append(rs.get_row_data())
    result = pd.DataFrame(data_list, columns=rs.fields)
    result=result[result['is_trading_day']=='1']
    trade_list=list(result['calendar_date'])
    # 获取目标日前n个交易日
    trade_list=trade_list[len(trade_list)-n:]
    trade_list=[i.replace('-','') for i in trade_list]
    return trade_list

def get_ticket(trade_list,high_p,low_p):
    '''
    根据交易天数, 获取全部下跌的
    '''
    l_ts0=get_day_tickets(trade_list[0].replace('-',''),high_p=9999,low_p=0.1)
    
    for trade_date in trade_list[1:]:
        trade_date=trade_date.replace('-','')# tushare通用没有-, baostock通用有-
        l_ts=get_day_tickets(trade_date,high_p,low_p)
        l_ts0=list(set(l_ts0).intersection(l_ts))# 交集
    l_ts0=[(i.split('.')[0]) for i in l_ts0]
    # 代码和名称对应
    #查询当天的全部正常交易的股票
    stock_rs = bs.query_all_stock(trade_list[0])
    stock_df = stock_rs.get_data()
    stock_df['code'] = stock_df['code'].apply(lambda i:i.split('.')[1])
    df=pd.DataFrame({'code':l_ts0})
    df=df.merge(stock_df,how='left',on='code')
    
    return df  
        
def get_day_tickets(trade_date,high_p,low_p):
    '''获取该交易日的下跌股票'''
    # trade_date=trade_list[0]
    df = pro.daily(trade_date=trade_date)
    df=df[df['change']<0]
    # 获取1元~100元的
    df=df[(df['close']<high_p)&(df['close']>low_p)]
    # 除去创业板和科创板, 大部分韭菜只能买沪深主板的
    df['is_cyb']=df['ts_code'].apply(lambda i:0 if i.startswith('3') or i.startswith('688') or i.startswith('4') or i.startswith('8') else 1)
    df=df[df['is_cyb']==1]
    
    l_ts=list(df['ts_code'])

    return l_ts

def run(aimdate=todaydate,high_p=9999,low_p=0.1,n=5):
    start_date='2022-02-01'
    trade_list=get_tradedate(aimdate,n,start_date)
    l_ts0=get_ticket(trade_list,high_p,low_p)
    return l_ts0

if __name__=='__main__':
    aimdate=None
    l_ts0=run()

试试看


WX20220301-162123@2x.png
WX20220301-162232@2x.png

本文纯属娱乐, 如依据此文投资亏损, 后果自负哈哈哈

相关文章

  • 找到连续下跌n天的.股*票

    所谓跌久必涨, 事不过三, 只要不是垃圾股, 持续跌, 就大概率会涨起来 会用到的财经数据接口, 1, tusha...

  • 随笔

    今天的股市又跌了!并且还跌得有点幅度!这是k国股市连续两天大涨后A股连续两天的下跌,A股连续下跌已经一个月了...

  • 跌跌跌

    连续跌了三天,连基金净值都懒得去看,今晚看到app弹出比特币大跌、美股大跌,美股热门科技股大跌,纳斯达克指数下跌了...

  • 股票回调是什么意思 ? 2017股票回调怎么炒股?

    股票回调指的是某只股票在连续上涨过程中出现短暂下降,下跌幅度可大可小。这种现象就是股票回调。那么,2017股票回调...

  • 北向资金前十大重仓最新动态

    2022年8月A股收官,三大指数连续两月集体下跌,其中上证累计下跌1.57%,深证成指累计下跌3.68%,创业板...

  • 北向资金前十大重仓股最新动态

    2022年9月A股收官,三大指数连续三个月集体下跌,其中上证累计下跌5.55%,深证成指累计下跌8.78%,创业...

  • 不亏就是赚

    今天大盘开始了调整。自选股里下跌的票远超过翻红的。截止收盘,沪指下跌0.76%。看了下我持有的基金,跌幅基本都在一...

  • 【股市规律】美国连续下跌,A股能够顶住!

    一、核心指数复盘; 今天各大指数全线下跌,老大主要是在上午讲话中没出利好大跌眼镜,今天炒作的又都是老热点,没办法吸...

  • 2021-02-25 周四 市场冰点

    市场连续下跌,抱团股、大市值股连续杀跌,心情也到了一个冰点。 更磨人的是一个心态,曾多次想减仓离场。但还是忍住了,...

  • 面对暴跌,基金投资怎么办?

    文|秋思说财 未经允许不得转载 节前美股的暴跌,引发全球市场的下跌,A股市场也是连续两天暴跌。后面可能还会继续调整...

网友评论

    本文标题:找到连续下跌n天的.股*票

    本文链接:https://www.haomeiwen.com/subject/ncbdrrtx.html