pandas、numpy、matlab 这些优秀的python三方库,让python在数据分析领域独领风骚,python成为股票分析领域,必不可少的语言工具
因为近期在使用Jupyter,因此就想在Jupyter上使用一把,此处使用的为Jupyter中文集成版工具,他内置了,pandas、numpy等库,另外还含了Ashare、MyTT两个git上分享的一个比较优秀实用的A股分析库
贴上代码看一下。
#股市行情数据获取和作图 -2
from Ashare.Ashare import * #股票数据库 https://github.com/mpquant/Ashare
from Ashare.MyTT import * #myTT麦语言工具函数指标库 https://github.com/mpquant/MyTT
# 证券代码兼容多种格式 通达信,同花顺,聚宽
# sh000001 (000001.XSHG) sz399006 (399006.XSHE) sh600519 ( 600519.XSHG )
df=get_price('000001.XSHG',frequency='1d',count=120) #默认获取今天往前120天的日线行情
print('上证指数日线行情\n',df.tail(5))
#-------有数据了,下面开始正题 -------------
CLOSE=df.close.values; OPEN=df.open.values #基础数据定义,只要传入的是序列都可以 Close=df.close.values
HIGH=df.high.values; LOW=df.low.values #例如 CLOSE=list(df.close) 都是一样
MA5=MA(CLOSE,5) #获取5日均线序列
MA10=MA(CLOSE,10) #获取10日均线序列
up,mid,lower=BOLL(CLOSE) #获取布林带指标数据
#-------------------------作图显示-----------------------------------------------------------------
import matplotlib.pyplot as plt ; from matplotlib.ticker import MultipleLocator
plt.figure(figsize=(15,8))
plt.plot(CLOSE,label='SHZS'); plt.plot(up,label='UP'); #画图显示
plt.plot(mid,label='MID'); plt.plot(lower,label='LOW');
plt.plot(MA10,label='MA10',linewidth=0.5,alpha=0.7);
plt.legend(); plt.grid(linewidth=0.5,alpha=0.7); plt.gcf().autofmt_xdate(rotation=45);
plt.gca().xaxis.set_major_locator(MultipleLocator(len(CLOSE)/30)) #日期最多显示30个
plt.title('上证指数 & 布林带',fontsize=20);
plt.show()
效果很不错,通过这个工具,很快,实现了结果!