利用tushare与python获取股票数据并可视化

tushare的财经数据接口包是真的好用,作为分析股票的一大利器
新版需要获取token在官网注册:https://tushare.pro
有的数据需要足够积分才能调去,如果像我一样懒的可以直接捐献买积分就能直接上手使用了!
底下是刚入门第一天写的获取多个股票的k线图以及交易量的Bar,并同时输出对应的EXCEL文件与一个HTML文件

                    # 获取股票k线图
# pip install pyecharts==0.5.11,之后版本无Kline
import tushare as ts
token='xxxxxxxxxxxxxxxxxxx'
ts.set_token(token)
pro = ts.pro_api(token)
import pandas as pd  
from pyecharts import Kline, Line, Bar, Overlap, Page
#####################################################################################################
def stock_K_plot(ts_code_list):
    page = Page()
    for ts_code in ts_code_list:
        #1.收集数据,先输出Excel  
            #提取name       
        data = pro.stock_basic(ts_code=ts_code)
        name = data.name.values
            #获得日线数据
        pa=pro.daily(ts_code=ts_code,start_date='20150101')     
                #输出csv文件
        pa.to_csv(ts_code+'日线.csv',header=True, index=False,encoding='utf-8-sig')
        print('输出'+name+'日线.csv成功')

        #2.数据处理
            #2.1数据按时间升序
        pa.index=pd.to_datetime(pa.trade_date)
        pa=pa.sort_index()
            #2.2转为表格型数据
        da = pd.DataFrame(data=pa)
            #2.3防止vol列有其他类型数据
        da['vol'] = da['vol'].apply(lambda vol: vol if vol > 0 else 0)
            #2.4将日期转为list格式
        date = da["trade_date"].apply(lambda x: str(x)).tolist()
            #2.5将oclh转为数组格式
        k_plot_value = da.apply(lambda record: [record['open'], record['close'], record['low'], record['high']], axis=1).tolist()

        #3.生成 K chart
        kline = Kline() #初始化
        kline.add(ts_code+"近5年日K线图", #加标题
                 date, k_plot_value, #加x轴, y轴
                 is_datazoom_show=True, #缩放
                 mark_line=["average"], #加均线
                 mark_point=["max", "min"], #标记最大最小值
                 mark_point_symbolsize=60) #标记点大小 
        #4.生成交易量 Bar chart
        bar = Bar()
        bar.add("vol", date, da["vol"],
                tooltip_tragger="axis", is_legend_show=False, is_yaxis_show=False, yaxis_max=5*max(da["vol"]))
        #5.整合 K chart & Bar chart
        overlap = Overlap()
        overlap.add(kline)
        a = overlap.add(bar,yaxis_index=1, is_add_yaxis=True)
        print('输出'+ts_code+'近5年k线图成功') 
        page.add(a)
    page.render()
#####################################################################################################
#输入股票代码list
stock_K_plot(['000001.SZ','600519.SH','688981.SH'])

你可能感兴趣的:(python基础教程,python,可视化,大数据)