python 涨停统计_Python tushare股票大数据分析与报告生成(优化版2)

import osimport docximport timeimport warningsimport pandas as pdimport tushare as tsfrom docx.shared import Cm, Inchesfrom docx.enum.text import WD_ALIGN_PARAGRAPHfrom docx.shared import RGBColor,Ptw...
摘要由CSDN通过智能技术生成

import os

import docx

import time

import warnings

import pandas as pd

import tushare as ts

from docx.shared import Cm, Inches

from docx.enum.text import WD_ALIGN_PARAGRAPH

from docx.shared import RGBColor,Pt

warnings.filterwarnings('ignore')

#pd.set_option()就是pycharm输出控制显示的设置

pd.set_option('expand_frame_repr', False)#True就是可以换行显示。设置成False的时候不允许换行

pd.set_option('display.max_columns', None)# 显示所有列

#pd.set_option('display.max_rows', None)# 显示所有行

pd.set_option('colheader_justify', 'centre')# 显示居中

#os.chdir()用于改变当前工作目录到指定的路径

#此路径必须改为放数据的路径且中间的不能缺失任何一天数据,例如get_analysis_stockdata('20200101', '20200106'),

#那么你放数据文件夹内不能缺少任何一个这段时期内的交易数据文件,否则报错

os.chdir('D:/stock_data/') #保存的绝对路径,需要自己修改跟创建,就是切换默认的工作目录到你设置的路径

pro = ts.pro_api('要到tushare官网注册个账户然后将token复制到这里,可以的话请帮个忙用文章末我分享的链接注册,谢谢')

#df_basic = pro.stock_basic() 获取基础信息数据,包括股票代码、名称、上市日期、退市日期等

#df_daily = pro.daily() 获取所有股票日行情信息,或通过通用行情接口获取数据,包含了前后复权数据,停牌期间不提供数据

#df_daily_basic = pro.daily_basic()获取全部股票每日重要的基本面指标,可用于选股分析、报表展示等。

def get_all_stockdata(st_date, ed_date):

trade_d = pro.trade_cal(exchange='SSE', is_open='1',start_date=st_date,end_date=ed_date,fields='cal_date')

for date in trade_d['cal_date'].values:

df_basic = pro.stock_basic(exchange='', list_status='L') #再获取所有股票的基本信息

df_daily = pro.daily(trade_date=date) # 先获得所有股票的行情数据,成交额单位是千元,成交量是手

df_daily_basic = pro.daily_basic(ts_code='', trade_date=date,fields='ts_code, turnover_rate, turnover_rate_f,'

' volume_ratio, pe, pe_ttm, pb, ps, ps_ttm,'

' dv_ratio, dv_ttm, total_share, float_share,'

' free_share, total_mv, circ_mv ') #获取每日指标,单位是万股,万元

#基本数据跟行情数据合并,再跟每日指标数据合并生成一个csv数据文件

df_first = pd.merge(left=df_basic, right=df_daily, on='ts_code', how='outer') #on='ts_code'以ts_code为索引,合并数据,how='outer',取并集

df_all = pd.merge(left=df_first, right=df_daily_basic, on='ts_code', how='outer')

#数据清洗,删除symbol列数据,跟ts_code数据重复

df_all = df_all.drop('symbol', axis=1)

for w in ['name', 'area', 'industry', 'market']: #在'name', 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值