Pyecharts简介
Echarts 是百度基于JavaScript 开源的可视化图表库,而 Pyecharts 相当于是 Python+echarts,即使用 Python 语言调用 echarts 的开源库,可以制作非常精美的图表。实际上 Python 可视化库有很多,包括 Matplotlib、Seaborn、Bokeh 、Pygal、 Plotly 和 Pyecharts等等。其中 Matplotlib 是大家入门数据分析的最基本可视化工具;Seaborn 实际上是 matplotlib 的一个封装,提供了很多统计分析的基本图表;Bokeh、Pygal、Plotly 和 Pyecharts 等功能相似,可以输出非常精美的可视化图表,尤其是 Plotly 和 Pyecharts ,均支持动态可交互效果,但代码相对复杂。这些可视化库基本上都支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab,可以轻松集成至 Flask,Django 等主流 Web 框架。关于高级可视化库之间的优劣对比在此不做深入探究,读者可根据个人需要和编程习惯选择相应的库进行学习,本文将重点介绍 Pyecharts 及其在金融量化上的应用,代码均在Jupyter notebook上运行。关于Pyechart更详细完整的介绍可以参见其官网:Pyecharts。
更新频率: 交易日收盘后40分钟更新当前交易日的数据
效果图:
df=get_data('sh') #df.head()
功能:查某只A股的CSRC(证监会)分类结果,CSRC每季度更新一次。
df.fillna(0, inplace=True) #fillna填充缺失数据,传入inplace=True直接修改原对象
import warnings
if __name__=="__main__":
df = pro.daily(ts_code='600000.SH',start_date='20200701',end_date='20201130')
df.to_csv(‘600000.csv’)
#设置总标题,居中
file.add_paragraph('\n') #表格换行
使用默认参数可以得到最基本的K线图。
tb.cell(0, x).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER #文字居中
return df_all
官网地址:
小阳线就不一样了,它小所以不足以构成对于多数投资者的分析阶段影响,那么这种情况下,你去判断未来它涨还是跌,这种准确率低是正常的。所以很多人总觉得我自己分析不准,因为你分析的都是常规情况,所以我经常说一句话叫无异常不分析,因为无异常不足以构成多数的人的看涨看跌。因为它产生买或卖的集中性交易行为,那股票价格怎么涨还是跌,所以大多数情况下的无异常都会横着走。
更新频率: 每个交易日开盘前不定时更新2次。
#指数年度收益率柱状图 index_ret=index_price/index_price.shift(1)-1 ss=index_ret.to_period('Y') sss=(ss.groupby(ss.index).apply(lambda x: ((1+x).cumprod()-1).iloc[-1])*100).round(2)
整个过程代码如下:
更新频率: 每个交易日9:30更新一次。
可视化实战案例
那么,明天我们的操作上到底该如何进行?
最后将两者叠加,合成一张图:
效果图:
添加全局和系列配置项,强化细节展示。
功能:查询股指的历史K线,每周更新数据。
text3 = file.add_paragraph()
#pd.set_option('display.max_rows', None)# 显示所有行
趋势线,主要是对股价起到一个变动约束作用:支撑与阻力,并且股价突破趋势线后,说明股价开始出现反转信号,可以作为买卖依据。
#df.groupby(columns)根据列值分组数据,并根据股票代码统计数据
功能:可以查询沪深股票的RSI(相对强弱指数),查询时间区间最大跨度为一个月。
#df_up.shape[0]获取上涨的行数
功能:查询A股上市公司的高管持股数。
import tushare as ts
今年4月7日,竞秀警方组织精干警力60余名,分成两个抓捕组同时赶赴两处写字楼,对涉案团伙实施统一抓捕,当场抓获犯罪嫌疑人71名(后1名嫌疑人到案),捣毁诈骗窝点2个,缴获作案手机、笔记本电脑上百台,话术资料若干。
head1 = file.add_heading('股市基本概况:',level=1) #设置一级标题
limit_up = df[df['change']/df['pre_close'] >= 0.097]
# 涨停股数中次新股,上市日期小于1年
更新频率: 每个交易日9:30更新一次。
def get_analysis_stockdata(st_date, ed_date):
g = (
Scatter()
.add_xaxis(sss['上证综指'].tolist())
.add_yaxis("", sss['创业板'].tolist(),
symbol_size=20,
label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts('上证综指 VS 创业板'),
tooltip_opts=opts.TooltipOpts(is_show=False),
xaxis_opts=opts.AxisOpts(name='上证综指',
type_="value",
splitline_opts=opts.SplitLineOpts(is_show=True),
axislabel_opts=opts.LabelOpts(formatter='{value}%')),
yaxis_opts=opts.AxisOpts(name='创业板',
type_="value",
splitline_opts=opts.SplitLineOpts(is_show=True),
axislabel_opts=opts.LabelOpts(formatter='{value}%'),)))
g.width = "100%"
g.render_notebook()
引用地址:https://www.cha65.net/waibuwenzhang/202306/1928819.html
tags: