为方便每日查看买的股票基金, 尝试写了一个脚本可每天看到数据和图



代码如下:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Dec 18 16:20:19 2019@author: xinran
"""#先引入后面分析、可视化等可能用到的库
import tushare as ts
#import datetime
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#正常显示画图时出现的中文和负号
from pylab import mpldef get_code():df = pro.stock_basic(exchange='', list_status='L')codes = df.ts_code.valuesnames = df.name.valuesstocks = dict(zip(names,codes))df2 = pro.fund_basic(market='E')codes2 = df2.ts_code.valuesnames2 = df2.name.valuesstocks2 = dict(zip(names2,codes2))dic = dict(stocks,**stocks2)#合并指数和个股成一个字典
#    stocks=dict(stock,**index)return dicdef k_line_fund(ts_code,name,start_date,end_date):#获取日行情数据
#    pa=pro.fund_daily(ts_code=ts_code, start_date=start_date,end_date=end_date)
#    pa.head()pa.to_csv('/Users/xinran/07 长投/股票基金k线图/'+name+'.csv',header=True, index=False)
#    print(name+'已存')#K线图可视化from pyecharts import Klinepa.index=pd.to_datetime(pa.trade_date)pa=pa.sort_index()v1=list(pa.loc[:,['open','close','low','high']].values)t=pa.indexv0=list(t.strftime('%Y%m%d'))kline = Kline(name,title_text_size=15)kline.add("", v0, v1,is_datazoom_show=True,mark_line=["average"],mark_point=["max", "min"],mark_point_symbolsize=60,mark_line_valuedim=['highest', 'lowest'] )path = '/Users/xinran/07 长投/股票基金k线图/'kline.render(path+"%s.html" %name)print(ts_code+' K线图已输出!')def k_line_share(ts_code,name,start_date,end_date):#获取日行情数据
#    today = time.strftime("%Y%m%d", time.localtime())pa=pro.daily(ts_code=ts_code, start_date=start_date,end_date=today)
#    pa.head()pa.to_csv('/Users/xinran/07 长投/股票基金k线图/'+name+'.csv',header=True, index=False)#K线图可视化from pyecharts import Klinepa.index=pd.to_datetime(pa.trade_date)pa=pa.sort_index()v1=list(pa.loc[:,['open','close','low','high']].values)t=pa.indexv0=list(t.strftime('%Y%m%d'))kline = Kline(name,title_text_size=15)kline.add("", v0, v1,is_datazoom_show=True,mark_line=["average"],mark_point=["max", "min"],mark_point_symbolsize=60,mark_line_valuedim=['highest', 'lowest'] )path = '/Users/xinran/07 长投/股票基金k线图/'kline.render(path+"%s.html" %name)print(ts_code+' K线图已输出!')if __name__ == "__main__": today = time.strftime("%Y%m%d", time.localtime())end_date = todaystart_date = '20150101'#设置tokentoken='需要tushare官网注册之后获取你的token'ts.set_token(token)pro = ts.pro_api(token)#获取当前上市的股票代码、简称、注册地、行业、上市时间等数据dic = get_code()##{name:ceode}new_dict = {v : k for k, v in dic.items()}#{code:name}'''股票'''share = pro.stock_basic(list_status='L') #股票share_lst = ['601318.SH','600340.SH','002475.SZ','002475.SZ','300059.SZ','000725.SZ','002027.SZ']for ts_code in share_lst:#    print(ts_code)name = "%sK线图_%s" % (new_dict[ts_code],today)k_line_share(ts_code,name,start_date,end_date)'''基金'''fund = pro.fund_basic(market='E')fund_lst = ['159938.SZ','512980.SH','510880.SH','162411.SZ']today = time.strftime("%Y%m%d", time.localtime())for ts_code in fund_lst:#    print(ts_code)name = "%sK线图_%s" % (new_dict[ts_code],today)    k_line_fund(ts_code,name,start_date,end_date)
# =============================================================================
# bonus
# 补充一个A股股指走势
=============================================================================
def get_index_data(indexs):'''indexs是字典格式'''index_data={}for name,code in indexs.items():df=pro.index_daily(ts_code=code)df.index=pd.to_datetime(df.trade_date)   index_data[name]=df.sort_index()return index_data
#获取常见股票指数行情
indexs={'上证综指': '000001.SH','深证成指': '399001.SZ','沪深300': '000300.SH','创业板指': '399006.SZ','上证50': '000016.SH', '中证500': '000905.SH','中小板指': '399005.SZ','上证180': '000010.SH'}
index_data=get_index_data(indexs)
#index_data['上证综指'].head()
#对股价走势进行可视化分析
subjects =list(index_data.keys())
#每个子图的title
plot_pos = [421,422,423,424,425,426,427,428]
# 每个子图的位置
new_colors = ['#1f77b4','#ff7f0e', '#2ca02c',
'#d62728','#9467bd','#8c564b', '#e377c2',
'#7f7f7f','#bcbd22','#17becf']fig = plt.figure(figsize=(16,18))
fig.suptitle('A股股指走势',fontsize=18)
for pos in np.arange(len(plot_pos)):       ax = fig.add_subplot(plot_pos[pos]) y_data =index_data[subjects[pos]]['close']    b = ax.plot(y_data,color=new_colors[pos])   ax.set_title(subjects[pos])    # 将右上边的两条边颜色设置为空,相当于抹掉这两条边ax = plt.gca()  ax.spines['right'].set_color('none') ax.spines['top'].set_color('none')
plt.show()
plt.savefig('/Users/xinran/07 长投/股票基金k线图/A.png')

更新:
现在tushare设计了积分权限,导致获取数据出现权限问题
初始注册积分100分 只能获取股票日行情数据
基金数据获取不到门槛

可以用下面代码改一改,获取股票k线图

df = pro.daily(ts_code='601318.SH', start_date='20180701', end_date='20180718')
path = '/Users/xinran/07 长投/股票基金k线图/'
v1=list(df.loc[:,['open','close','low','high']].values)
t=df.trade_date
v0=list(pd.to_datetime(df.trade_date, format='%Y%m%d'))#pd.to_datetime(raw_data['Mycol'], format='%d%b%Y:%H:%M:%S.%f')
#v0=list(t.strftime('%Y%m%d'))
name = "601318.SH K线图"
kline = Kline(name,title_text_size=15)
kline.add("", v0, v1,is_datazoom_show=True,mark_line=["average"],mark_point=["max", "min"],mark_point_symbolsize=60,mark_line_valuedim=['highest', 'lowest'] )
kline.render(path+"%s.html" %name)

从tushare获取股票基金数据制作k线图相关推荐

  1. AXURE教程:中继器制作K线图

    K线图应用于股票.贵金属.期货等等的金融交易中,所以K线图成了金融交易软件必不可少的一个元件. 目前市面上的k线图原型都是图片,不能让老板或者甲方爸爸更直观的看到交互效果:所以作者出了这期教程,教你们 ...

  2. 用html批量绘制k线图,10分钟学会ikvStockChart制作K线图(股票走势图)

    前言: 最近在技术群里面,总是有人在问这个股票图怎么做,有没有相关的三方库可以使用呢?其实我也想研究这类的项目,刚好在github上面遇到了一个制作K线图的库,叫做 OK,Show me your c ...

  3. 如何根据k线数据绘制k线图

    import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as dates import mpl_fina ...

  4. 量化交易:创建签名、从okex平台获取ticker数据和k线数据

    import hashlib import json import pandas as pd from urllib.request import Request, urlopenpd.set_opt ...

  5. 从零开始实现k线图走势图绘制(iOS理论篇)

    前言:现在做金融的越来越多了,在很多的技术群中都有人问到k线图怎么去做,有没有相关的框架?两年前,我刚入这金融公司也是走这条路,但是发现网上的框架不多,干脆就自己搞一个出来.没人分享相关知识,就分享下 ...

  6. HQChart使用教程1- 如何快速创建一个K线图页面

    快速创建一个K线图页面 HQChart介绍 demo页面代码 Option的配置项说明 Type Symbol IsAutoUpdate IsShowRightMenu IsShowCorssCurs ...

  7. python制作简单K线图

      最近在参加数模比赛,在培训课程中老师要求使用python完成对于K线图制作.参考了网上很多个博客,终于找到适合自己环境的在此记录下.   我使用的环境如下:      操作系统:windows10 ...

  8. 用Python轻松制作一个股票K线图网站

    在前面的文章中,我们学习了如何使用 Tkinter 构建股票数据抓取以及展示K线图功能,虽然大致的功能已经具备,但是在当今这个人手一个 Web 服务的年代,GUI 程序还是没有 Web 服务来的香啊. ...

  9. 在Excel中如何制作K线

    在Excel中如何制作K线 前言 经过上文的数据导入后(作者的前一篇文章详细讲解了如何从tushare中将数据导入Excel),我们可以通过Excel中的图标工具进行对数据的详细分析. 因为制作K线只 ...

最新文章

  1. Python技术学习之Django框架设计思想
  2. 从技术角度聊聊,短视频为何让人停不下来?
  3. .在OnPaint()函数和在OnEraseBkgnd()重绘图的区别
  4. Java-开源工具类
  5. php js动态显示系统时间,PHP+JS动态显示服务器时间
  6. php实战搭建博客,yii2项目实战-博客管理平台的搭建
  7. 吐血推荐 | 那些提升开发人员工作效率的在线工具
  8. c++ file* 句柄泄漏_C/C++连接MySql数据库使用总结
  9. “冲击波”病毒的症状和解决方案
  10. go技术文章精选(2019)
  11. windows系统进程漫谈
  12. 史上最全的CDN内容分发网络实战技巧(网络优化)
  13. k8s入门:部署应用到 k8s 集群
  14. 如何在 Python 中将 Excel 文件转换为图像?Aspose快速搞定
  15. [转]SMART原则
  16. PMP49个子过程ITTO总结
  17. 想开发手机APP软件,首先要弄清楚以下10点
  18. Chrome 和 Firefox 版本100对User-Agent的缓冲处理
  19. 针对管家婆 登录 密码加密js分析(学习第二天)
  20. houdini-houdini记录

热门文章

  1. 水性拉伸油增稠剂的非离子性能分析
  2. 有限状态机FSM例程
  3. 如何将ps文件转换为pdf文件
  4. 1200PLC Modbus_RTU串口通信
  5. 今天终于可以静下心来搞学习了
  6. 《Android 第一行代码》十一章 “服务的最佳实践”
  7. Qualcomm物联网之智慧城市
  8. qq申请器,有源码,用post提交
  9. R语言ggplot2 | 如何绘制美观的散点图
  10. latex与word比较