import tushare as ts
import pandas as pd
import time
import os
import datetime
# 指定自己要存放文件的绝对路径
os.chdir('E:/')
pd.set_option('expand_frame_repr', False)
now_time = datetime.date.today()
# 从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('%s is downloaded.' % (str(date_now)))print(df_all)return df_allif __name__ == '__main__':get_today_all_ts(date=now_time)

import pandas as pd
import requests
import tushare as ts
import os
import time
import warnings
warnings.filterwarnings('ignore')
pd.set_option('expand_frame_repr', False)
os.chdir('E:/')
date_now = datetime.date.today()
print(str(date_now))
# ====龙虎榜数据# 读取TDX的每日股票数据
df = pd.read_csv('{}_ts.csv'.format(str(date_now)), 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['timeToMarket'] = pd.to_datetime(df['timeToMarket'])df['code'] = df['code'].astype(str)  # 转化成str后,NAN也变成nan str格式
# 添加 交易所 列
df.loc[df['code'].str.startswith('3'), 'exchange'] = 'CY'
df.loc[df['code'].str.startswith('6'), 'exchange'] = 'SH'
df.loc[df['code'].str.startswith('0'), 'exchange'] = 'SZ'# 找出上涨的股票
df_up = df[df['changepercent'] > 0.00]
# 走平股数
df_even = df[df['changepercent'] == 0.00]
# 找出下跌的股票
df_down = df[df['changepercent'] < 0.00]# 找出涨停的股票
limit_up = df[df['changepercent'] >= 9.70]
limit_down = df[df['changepercent'] <= -9.70]# 涨停股数中的未封板股,上市日期小于15天
limit_up_new = limit_up[pd.to_datetime(date_now) - limit_up['timeToMarket'] <= pd.Timedelta(15)]
# 涨停股数中次新股,上市日期小于1年
limit_up_fresh = limit_up[pd.to_datetime(date_now) - limit_up['timeToMarket'] <= pd.Timedelta(365)]# 涨停股数中的未封板股,上市日期小于15天
limit_down_new = limit_down[pd.to_datetime(date_now) - limit_down['timeToMarket'] <= pd.Timedelta(15)]
# 涨停股数中次新股,上市日期小于1年
limit_down_fresh = limit_down[pd.to_datetime(date_now) - limit_down['timeToMarket'] <= pd.Timedelta(365)]print('A股上涨个数: %d, A股下跌个数: %d, A股走平个数: %d。' % (df_up.shape[0], df_down.shape[0], df_even.shape[0]))
print('A股总成交额:%d, 总成交量:%d' % (df['amount'].sum(), df['volume'].sum()))
print('A股平均市盈率:%.2f, 平均流通市值 %.2f 亿, 平均总市值 %.2f 亿' % (df['pe'].mean(), df['nmc'].mean(), df['mktcap'].mean()))
print('涨停数量:%d 个, 涨停中上市日期小于15天的:%d, 涨停中上市日期小于1年的:%d' % (limit_up.shape[0], limit_up_new.shape[0], limit_up_fresh.shape[0]))
print('跌停数量:%d 个, 涨停中上市日期小于15天的:%d, 涨停中上市日期小于1年的:%d' % (limit_down.shape[0], limit_down_new.shape[0], limit_down_fresh.shape[0]))# 获取指定列的分析统计结果
def get_output(df, columns='industry', name='_limit_up'):df = df.copy()output = pd.DataFrame()output = pd.DataFrame(df.groupby(columns)['code'].count())output['pe_mean'] = df.groupby(columns)['pe'].mean()output['pe_median'] = df.groupby(columns)['pe'].median()output['nmc_mean'] = df.groupby(columns)['nmc'].mean()output['nmc_median'] = df.groupby(columns)['nmc'].median()output['mktcap_mean'] = df.groupby(columns)['mktcap'].mean()output['mktcap_median'] = df.groupby(columns)['mktcap'].median()output['volume_mean'] = df.groupby(columns)['volume'].mean()output['volume_median'] = df.groupby(columns)['volume'].median()output['amount_mean'] = df.groupby(columns)['amount'].mean()output['amount_median'] = df.groupby(columns)['amount'].median()output.sort_values('code', ascending=False, inplace=True)output.rename(columns={'code': name + '_count'}, inplace=True)return outputfor i in ['industry', 'exchange', 'area']:
# 对涨停的股票分析output_limit_up = get_output(limit_up, columns=i, name='limit_up')print(output_limit_up)
# 对跌停的股票分析output_limit_down = get_output(limit_down, columns=i, name='limit_down')print(output_limit_down)
# 对全量的股票分析output_total = get_output(df, columns=i, name='total')print(output_total)

保存tushare所有股票数据,并对涨停进行分析相关推荐

  1. python tushare获取股票数据_Python 金融: TuShare API 获取股票数据 (1)

    多多教Python 金融 是我为金融同行,自由职业投资人 做的一个专栏.这里包含了我自己作为量化交易员,在做研究时所用到的Python技巧和实用案例.这个栏目专业性会比较强:本人29岁,量化工作5年的 ...

  2. 利用python进行股票分析(五)通过tushare读取股票数据

    文章目录 5. 通过tushare读取股票数据 5.1. 切换pip3的源 5.2. 获取股票数据 5.2.1. 前复权和后复权 5.2.2. 读取tushare数据,保存到csv文件 5.2.3. ...

  3. 基于tushare的股票数据构建1

    基于tushare的股票数据构建<一> tushare中提供了很多非常优秀的数据结构,但是并不是所有的数据都对自己有用,这里需要进行构建自己的数据库以方便后续进行数据建模 tushare数 ...

  4. R获取股票数据并进行进行可视化分析

    R获取股票数据并进行进行可视化分析 # 加载依赖的包 library(quantmod) library(ggplot2) library(magrittr) library(broom) # 设置计 ...

  5. tushare 读取股票数据

    import os import pandas as pd import tushare as ts import numpy as np from pathlib import Path impor ...

  6. python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  7. tushare获得股票数据后进行数据合并

    tushareID:511783 1.各种模块的导入 %matplotlib inline import matplotlib.pyplot as plt import seaborn plt.sty ...

  8. python tushare获取股票数据并可视化_Python股票数据获取及其可视化——基于tushare库...

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  9. python tushare获取股票数据并可视化_使用Python获取股票数据Tushare

    最近不是在炒股吗,挣点儿零花钱,权当学习金融知识了,前几天了解到转债,T+0,这个东西有点儿刺激啊,哈哈,就是老去看手机,实在有点儿耽误事儿,就想着,用python把股票价格拉下来,如果有上下的变动, ...

最新文章

  1. C++ 结构体struct 的使用
  2. 视觉稿与H5页面之间的终端适配
  3. Oracle服务扫描工具Oscanner
  4. 解决错误:No module named ‘Cryptodome‘ 和错误rosbag.bag.ROSBagException: unsupported compression type: lz4
  5. python isinstance和issubclass区别
  6. HTML的onclick的this指向
  7. 之全能忙内_闪闪发光刘耀文,全能忙内初长成,西南狼崽变狼王
  8. MemoryCache 使用不当导致的一个 BUG
  9. Js 获取 本周、本月起始时间
  10. 接口测试 Jmeter面试题
  11. Smart3D飞控地方坐标系
  12. java手机 最新版本_JAVA手机模拟器安卓版
  13. ubuntu18.10安装redshift护眼软件
  14. Linux配置本地yum源(光盘镜像挂载)
  15. 面试造火箭,秋招建大楼!阿里新出《Java权威面试指南》堪称精品!
  16. C语言练习,计算圆的面积和周长。
  17. Python网络爬虫学习实战:爬虫快速入门
  18. 克隆技术与DOS批处理命令
  19. 点击按钮自动拨打电话
  20. Sony大法的Music Center for PC歌曲一直显示未分析的解决办法

热门文章

  1. Ubuntu 14 安装Skype 4.3
  2. MSF建立webshell后门,并监听端口建立session连接
  3. 万能表单解析工具在xheditor上传文件中的应用
  4. 大数据风控之 如何控制贷前风险?
  5. 聊天室 一个简单的mqtt聊天室的实现
  6. Raspberry Pi中基于gnuradio gr-adsb和HackRF的ADS-B接收实验
  7. 运维之道 | Git分布式版本控制常用命令解析
  8. urovo优博讯WinCE系统PDA双清
  9. 拼团列表item自动滚动+倒计时实现
  10. python编写poc_干货分享丨Python从入门到编写POC之读写文件