您现在的位置是:主页 > news > 温州市建设监理协会网站/seo技术网
温州市建设监理协会网站/seo技术网
admin2025/4/20 19:26:50【news】
简介温州市建设监理协会网站,seo技术网,怎么看网站开发用的语言,优质的广州做网站AI派在读学生小姐姐BeyonceJava实战项目练习群长按识别下方二维码,按需求添加扫码添加Beyonce小姐姐扫码关注进Java学习大礼包当某个股票保持下跌的时候,你可以肯定该股票一定有什么地方不对,要么是它的市场,要么是它的公司。——…
AI派在读学生小姐姐Beyonce
Java实战项目练习群
长按识别下方二维码,按需求添加
扫码添加Beyonce小姐姐
扫码关注
进Java学习大礼包
当某个股票保持下跌的时候,你可以肯定该股票一定有什么地方不对,要么是它的市场,要么是它的公司。——利弗莫尔
因此结合自己最近的研究,提出了这个比较新颖的想法:利用股票市场找到已有或潜在食品安全问题的企业。
为什么会有这个想法呢?我们知道食品安全事故发生的时间点和媒体报道的时间点之间实际上是有一个间隔的,然而相关利益人士、内部人士却能提前知道事件的发生。
比如说,2012年11月19日,酒鬼酒被国家质检总局爆出塑化剂超标247%,但是在19号之前,酒鬼酒的收盘价却神奇地从2012年11月2日的55元回落到2012年11月16号的46元。然而国家质检总局的消息是在2012年11月19号才发布的。
而且这样的下跌,明显违背该股票当时上涨的趋势,在10月底时,它的股价已突破周K的压力线,却很不自然地下跌了?而且还违背了许多技术指标,如1号、14号、16号,KDJ和BOLL指标明显提示上涨,在股市这种情绪化的市场中,有人却不为所动,仍然售出大量股票导致其不正常下跌。
2012年11月19号消息公布时紧急停牌,复牌后有三个跌停,股价暴跌48%,但我相信某些人已经成功躲开了这场股灾。
找到已有或潜在食品安全问题的企业的重点在于两个方面:
1.该股票在该板块或者该股强走势的情况下却发生连续多日的下跌
2.不正常的跌停板
如果我们在消息公布/(不公布)前能提前捕捉到这个异常信息,我们就能提前捕捉到某个食品的安全问题,而且也能规避投资风险。当然,出现这种异常的可能性非常多,这种异常只能作为参考。
下面让我们尝试用Python来找到第一种趋势的企业,当然我最后不会公布结果,大家感兴趣可以自己试试:
首先利用tushare找到和食品安全相关的上市企业:
import tushare as ts
def food_codes():data = ts.get_industry_classified()print data[data.c_name.isin(['食品行业','农药化肥','酿酒行业'])]
得到结果:
均线是我们获得该股票趋势的基础,下面我们编写均线函数:
def get_ma(code,start='',end=datetime.date.today().strftime("%Y-%m-%d")):data = ts.get_k_data(code)data = data.sort_index(ascending=False)data['ma2'] = data['close'].rolling(2).mean().shift(-1)data['ma5'] = data['close'].rolling(5).mean().shift(-4)data['ma10'] = data['close'].rolling(10).mean().shift(-9)data['ma20'] = data['close'].rolling(20).mean().shift(-19)data['ma60'] = data['close'].rolling(60).mean().shift(-59)data['ma240'] = data['close'].rolling(240).mean().shift(-239)data['date'] = pd.to_datetime(data['date'])if start == '':return datastart = pd.to_datetime(start)end = pd.to_datetime(end)if data['date'][len(data) - 1] < start:return 0while data.loc[data.date == start].empty:start = start + dateutil.relativedelta.relativedelta(days=1)while data.loc[data.date == end].empty:end = end - dateutil.relativedelta.relativedelta(days=1)return data.loc[(data.date >= start) & (data.date <= end)]
我们只需要确定两点:
1. 以20个交易日为窗口期,其内最高价和最低价的差距大于其最高价的15%。
2. 该股票处于涨势。
def analyzeOne(code):rng = pd.date_range('2018-1-1', datetime.date.today().strftime("%Y-%m-%d"), freq='D')# 获得日期flag = 0for i in range(20,len(rng)):data = get_ma(code,rng[i-20],rng[i])count = 0data = data.sort_index(ascending=True)# 升序max = data['close'][data['close'].argmax()]min = data['close'][data['close'].argmin()]for j in range(len(data)):if data.iloc[j]['ma5'] >= data.iloc[j]['ma20'] and data.iloc[j]['ma20'] >= data.iloc[j]['ma60'] and \data.iloc[j]['ma60'] >= data.iloc[j]['ma240']:count = count + 1if count >= 5 and (max-min) - max*0.15 > 0:print 'Code: ' + str(code) +', Problem:' + str(rng[i-20])+ ' ' + str(rng[i])else:count = 0
如果存在这样的趋势,就输出这个趋势的窗口时间段,当然这只是一个粗略的模型,结果中可能会有很多意外的情况,但是我觉得足够启发大家了。
想要应用于所有食品相关股票:
def find_down():for i in food_codes().code:analyzeOne(i)
通过这样的操作,我找到了两支类似的股票:
但这些股票都没有新闻报道发生了问题,最后也让我怀疑自己的模型的准确性,到底是市场正常波动,还是这个企业存在问题。
因此,这个模型存在许多的优化空间,如何通过股市最准确地找出那些出问题的企业,还有待进一步研究,本实验只是提出一个初步的模型和一些想法。
个人愚见,欢迎讨论。
原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!
文末福利
各位猿们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家。
这个是一份Python代码速查表
下面的宝藏图片是2张(windows && Mac)高清的PyCharm快捷键一览图
怎样获取呢?可以添加我们的AI派团队的Beyonce小姐姐
一定要备注【高清图】哦
????????????????????
➕我们的Beyonce小姐姐微信要记得备注【高清图】哦
来都来了,喜欢的话就请分享、点赞、在看三连再走吧~~~