本文主要是介绍Tushare判断指定日期股票是否ST,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
tushare中没有在指定日期条件下判断股票是否是st,只有直接通过stock_basic获取当前的状态是否是st。但是我们在做量化策略回测时,选股通常要过滤当时股票是否处于st状态。
下面将定义一个函数实现指定日期股票是否ST,借助Tushare的股票更名函数来实现。
具体代码如下:
#stock_code = 'xxxxxx.SH'
#target_date = '20200830'
#若为ST,返回True;否则返回False
def is_st(stock_code, target_date):target_date = datetime.strptime(target_date, '%Y%m%d')df = pro.namechange(ts_code=stock_code, fields='ts_code,name,start_date,end_date,change_reason')df = df[df.name.str.contains('ST')]st_dates = []for i in range(len(df)):sds = df.iloc[i, 2]eds = df.iloc[i, 3]sd = datetime.strptime(sds, '%Y%m%d')if eds == None:ed = datetime.now()else:ed = datetime.strptime(eds, '%Y%m%d')print(sd, ed)if (target_date - sd).days >= 0 and (target_date -ed).days <= 0:return Truereturn False
ps:
1、公众号实时查询股票涨幅,无需打开交易软件,方便查看;
2、量化知识和策略分享。
请关注“量化之窗”公众号,如有疑问,请在文章下方留言,欢迎使用!
这篇关于Tushare判断指定日期股票是否ST的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!