前面三次都一步一步完善和探索,在最终系统展示上使用的K线图必须要符合中国证券交易的习惯,红色表示上涨,绿色表示下跌。
在最终系统实现上是写成函数形式进行调用的。
函数如下
#path是数据的路径,K表示的最后存储文件名
def Drawmpf1(path,k):
#数据处理
df= pd.read_csv(path)
df.columns = ['Date','Open','Close','High', 'Low','Volume',"Money"]
df.head()
df =df.set_index(["Date"])
df.index = pd.DatetimeIndex(df.index)# 可直接多索引进行操作
open1=df['Open']
high2=df['High']
low3=df['Low']
close4=df['Close']
volume5=df['Volume']
money6=df['Money']
data=pd.concat([open1,high2,low3,close4,volume5,money6],keys=['Open', 'High','Low' ,'Close','Volume',"Money"],axis=1)
#图像绘制
apds = [mpf.make_addplot((df["Money"][-120:-1]),panel='lower',color='b',linestyle='dotted')]
save = dict(fname=k+".jpg",dpi=120,pad_inches=0)
#红色上涨,绿色下跌
mc = mpf.make_marketcolors(up='r',down='g',edge='inherit',
wick={'up':'r','down':'g'},
volume='cornflowerblue',
ohlc='i'
)
s = mpf.make_mpf_style(marketcolors=mc)
mpf.plot(data.iloc[-120:-1],addplot=apds,figscale=1,mav=(5,10,20),volume=True,figratio=(17,7),type='candle', style=s,savefig=save)
# style="charles"
调用函数
1.直接调用
Drawmpf1(path,'SAVE')
图片会存在对应的目录下。
2.循环调用
一次处理多个文件
#文件夹目录
l=["ETF/"]
for i in l:
for k in os.listdir(i):
path=i+k
#输出对应路径
print(path)
Drawmpf2(path,k)
使用mplfinance绘制K线图结束,比较之前使用的确实简单和方便了很多。