- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【Python量化】股票涨停板探索性分析与数
引言
从系统论的角度来看,股票市场是一个复杂系统,市场的涨跌是由资金流(市场资金存量、流入量、流出量)和回路(市场信息与交易者行为形成的各种反馈、调节、增强回路)非线性作用下的结果。换句话说,牛市是资金流入和正向反馈(赚钱效应吸引更多资金流入)占主下的系统演化过程,熊市则相反。而影响市场资金流向和反馈回路形成的驱动因素主要有政策、经济、交易情绪、流动性、技术面和外围环境等。市场上对这些驱动因素的研究和把握最强的是“聪明资金”(Smart money),在A股上则是那些游资主力,而不是基金。龙虎榜是这些游资的战场,而涨停板则是游资主力释放的最重要的操盘信号。涨停板制度是我国借鉴国外早期证券市场,为防止交易价格暴涨暴跌,抑制过度投机的制度,却也成了游资主力吸引跟风盘的重要手段。利用概念题材炒作,快速封涨停板,通过类似饥饿营销地方式吸引各路跟风资金,再拉高出货赚取价差。当然涨停板不代表一出现就会上涨,也可能是昙花一现,也可能是主力挖的坑,但是游资主力发动进攻一般以涨停板出现。因此涨停板是实盘操作中值得深入分析和挖掘的重要信号。本文使用Python对A股市场2016-2021年涨停板个股数据进行探索性分析,为读者挖掘涨停股、深入认识市场提供一个量化视角。
02
数据获取
本文数据来源于tushare,数据期间为2016年2月15日-2021年4月23日,包含74300个样本。tushare pro中的limit_list函数可直接获取A股中每日涨跌停个股信息。
import?pandas?as?pdimport?numpy?as?np#画图import?matplotlib.pyplot?as?plt#正确显示中文和负号plt.rcParams[font.sans-serif]=[SimHei]plt.rcParams[axes.unicode_minus]=False#处理时间from?dateutil.parser?import?parsefrom?datetime?import?datetime,timedelta#使用tushare获取数据import?tushare?as?ts?token=输入你在tushare上注册的tokenpro=ts.pro_api(token)#获取必威体育精装版交易日期#获取交易日历cals=pro.trade_cal(exchange=SSE)cals=cals[cals.is_open==1].cal_date.valuesdef?get_now_date():????#获取当天日期时间????d=datetime.now().strftime(%Y%m%d)????while?d?not?in?cals:????????d1=parse(d)????????d=(d1-timedelta(1)).strftime(%Y%m%d)????return?dd1=get_now_date()n1=np.argwhere(cals==d1)[0][0]+1#获取最近6年的交易日行情#实际上tushare只能获取2016后的涨跌停数据dates=cals[-250*6:n1]
df=pro.limit_list(trade_date=dates[0],?limit_type=U)for?date?in?dates[1:]:????df_tem=pro.limit_list(trade_date=date,?limit_type=U)????df=pd.concat([df,df_tem])#查看前几行数据#实际上tushare只能获取2016后的涨跌停数据#数据下载3-4分钟左右df.head()
其中,fl_ratio 为封单手数/流通股本;amp是振幅;fc_ratio是封单金额/日成交金额;fl_ratio为封单手数/流通股本;fd_amount为封单金额;first_time代表首次涨停时间;last_time代表最后封板时间;open_times是打开次数;strth是涨跌停强度。
#保存数据到本地#df.to_csv(up_limit_data.csv)#读取数据#df=pd.read_csv(up_limit_data.csv,index_col=0)
03
市场涨停整体情况
描述性统计
df.iloc[:,1:].describe().round(2)
从描述性统计来看,涨停股价格大都在25元及以下(75%分位数),其他几个变量波动标准差均较大,反映个股涨停的特征差别较大。下面使用可视化的方式展现不同价格期间个股涨停情况。
涨停股价格区间
先构建一个价格区间标记函数,将
文档评论(0)