300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python涨停分析 -股票量化

python涨停分析 -股票量化

时间:2022-02-03 00:15:31

相关推荐

python涨停分析 -股票量化

关键词:涨停分析, 量化

开发环境

编程语言: Python 3.6

必要包:tushare, pandas

Tushare

Tushare(/)是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集清洗加工数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

涨停分析

股市中涨停板包含了很多市场信息, 例如市场的热点, 投资偏好,多空情绪等 。

分析脚本设计

1. 设置脚本工作目录

2. 从网络获取股市行情数据,并保存到excel文件

3. 把excel行情数据文件读到内存。

4.清洗数据,提取涨停板的股票数据。

5.涨停板分析,统计:价格区间,换手率,市净率,行业热点,波动振幅 。

模块实现

获得行情数据并保存到文件

import tushare as tsimport pandas as pdimport timeimport osimport platform# 从tushare获取def get_today_all_ts(date):date_now = date# 先获得所有股票的收盘数据df_close = ts.get_today_all()# 获得所有股票的基本信息df_basics = ts.get_stock_basics()df_all = pd.merge(left=df_close, right=df_basics, on='name', how='outer')df_all['code'] = df_all['code'].astype(str) + ' '# 保存数据df_all.to_csv(str(date_now) + '_ts.csv', index=False, encoding='gbk')print(' \n %s is downloaded.' % (str(date_now)))#print(df_all)return df_all

读取excel行情数据

# 读取TDX的每日股票数据csvdata_file = abs_dir + os.sep + date_now + '_ts.csv'print('\n excel file is %s ' %(csvdata_file) )df = pd.read_csv(csvdata_file, encoding='gbk')df.fillna(0, inplace=True)df.replace('nan ', 0, inplace=True)df['timeToMarket'] = pd.to_datetime(df['timeToMarket'])df[['changepercent', 'pe', 'mktcap', 'nmc']] = df[['changepercent', 'pe', 'mktcap', 'nmc']].astype(float)df['code'] = df['code'].astype(str) # 转化成str后,NAN也变成nan str格式df['pb_x'] = df['pb_x'].astype(float)df[['high', 'low', 'settlement']] = df[['high', 'low', 'settlement']].astype(float)# 找出涨停的股票limit_up = df[df['changepercent'] >= 9.70]limit_down = df[df['changepercent'] <= -9.70]print(' \n 涨停数量:%d 个 ' % (limit_up.shape[0]))

涨停分析

def analyze_turnoverratio(market_ups):print('\n换手率: %s ' %(limit_up.columns.values[9] )) labels_turnover = ["0 -1%", "1 -3%", "3 -7%", "7 -10%", "10 -15%", "15% --" ]#print(labels_turnover)turnoverArr_counter = [0]*6lines = market_ups.shape[0]for i in range(lines):if market_ups.iloc[i, 9] >= 15:turnoverArr_counter[5] +=1continueif market_ups.iloc[i, 9] >= 10:turnoverArr_counter[4] +=1continueif market_ups.iloc[i, 9] >= 7:turnoverArr_counter[3] +=1continueif market_ups.iloc[i, 9] >= 3:turnoverArr_counter[2] +=1continueif market_ups.iloc[i, 9] >= 1:turnoverArr_counter[1] +=1else:turnoverArr_counter[0] +=1#pprint.pprint(dict(zip(labels_turnover, turnoverArr_counter)), width=1)for (k,v) in dict(zip(labels_turnover, turnoverArr_counter)).items(): print("%s :\t %d" %(k, v))return 0

测试和总结

运行结果

总结:通过对0412行情数据分析,涨停股票价格主要集中在6 ~20元, 换手率集中在3 -7%和10 -15%,主力在后面强力推动。市净率集中在2 ~5区间,市净率特别在评估高风险企业,企业资产大量为实物资产的企业时受到重视。振幅在6 ~9%之间非常少,6 ~9%是过渡区间,要么冲高回落,要么冲击成功。一字板涨停的也要重点关注,再复盘一下他们的k线。

stockeverydcheck.py脚本下载路径:/5DDYOZK

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。