tushare小工具之价格走势对比自动化

这个工具的功能有:

1 看走势,如下图,点击上面的按钮可以选择显示或不显示该股的走势。

2 将个股选择基期进行指数化,以对比走势

如图,可以看去五粮液的走势相对沪深300和中信证券来说都是最强的,中信证券又强于沪深300。

整个工具的使用前设定时间不到1分钟,要输入的参数是:起止日期、个股代码。之后run all既可以获得两图,比起excel来说还是方便很多。

下附代码:

from pyecharts.charts import Bar,Line,Pie,Scatter

from pyecharts import options as opts

import tushare as ts

import pandas as pd

pro = ts.pro_api()

import matplotlib.pyplot as plt

# 设定你的日期区间以及个股

start_date = '20170723'

end_date = '20191115'

adj = 'qfq' # qfq前复权、hfq 后复权 None 不复权

freq = 'D' # 支持分钟(min)/日(D)/周(W)/月(M)K线,其中1min表示1分钟(类推1/5/15/30/60分钟) ,默认D。

ts_code = ['399300.SZ','000858.SZ','600030.SH'] # 设定个股

asset = ['I','E','E'] # 如果是指数要特别修改,E股票 I沪深指数 C数字货币 FT期货 FD基金 O期权 CB可转债(v1.2.39),默认E

for i in range(len(ts_code)):

# locals()['market_info'+str(i)] 设置了一个自动变化的变量名

locals()['market_info'+str(i)] = ts.pro_bar(ts_code = ts_code[i],adj = adj,freq = freq,start_date = start_date,end_date = end_date,asset = asset[i])

locals()['market_info'+str(i)] = locals()['market_info'+str(i)].sort_values('trade_date') # 将最新的价格放在右边,日期从左到右递增

market_info2.tail(2)

# 价格走势图

line = (

Line()

.add_xaxis(market_info0['trade_date'].values.tolist())

.add_yaxis(ts_code[0],market_info0['close'],is_smooth=True,label_opts=opts.LabelOpts(is_show=True))

.add_yaxis(ts_code[1],market_info1['close'],is_smooth=True) # 目前还办法实现绘图自动化,需要手动复制粘贴这一行,再改一下参数

.add_yaxis(ts_code[2],market_info2['close'],is_smooth=True)

.set_global_opts(title_opts=opts.TitleOpts(title='价格走势图'))

)

line.render_notebook()

# 指数化对比图

for i in range(len(ts_code)):

locals()['market_info'+str(i)]['pindex'] = locals()['market_info'+str(i)]['close']/locals()['market_info'+str(i)]['close'][0]

locals()['market_info'+str(i)]['pindex'] = locals()['market_info'+str(i)]['pindex'].apply(lambda x: format(x,'.2f'))

market_info2.tail(2)

# 指数走势图

line1 = (

Line()

.add_xaxis(market_info0['trade_date'].values.tolist())

.add_yaxis(ts_code[0],market_info0['pindex'],is_smooth=True,label_opts=opts.LabelOpts(is_show=True))

.add_yaxis(ts_code[1],market_info1['pindex'],is_smooth=True,label_opts=opts.LabelOpts(is_show=True))

.add_yaxis(ts_code[2],market_info2['pindex'],is_smooth=True,label_opts=opts.LabelOpts(is_show=True))

.set_global_opts(title_opts=opts.TitleOpts(title='指数化对比图'))

)

line1.render_notebook()

网上有很花俏的K线和成交量图,这里没有做,这个工具的目的主要是快速看走势和个股股性的比较。

简单粗暴,就到这里。

求助:pyecharts里面的图怎么设置显示更多的值,我这里只能显示10个。

雪球转发:0回复:0喜欢:0