import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import math
f=open("G:\\IDLE\\600519.csv")
data=np.array(pd.read_csv(f)[["close","open"]])
datacopy1=data.copy()
datacopy2=data.copy()
m=np.shape(data)[0]
date=np.linspace(0,m-1,m)
def price_means(days,data):
num=math.floor(m/days)
n=0
k=0
data_sum=0
for i in range(m):
if k !=num:
data_sum=data_sum+data[i]
n=n+1
if n==days:
data[k*days:k*days+days]=data_sum/days
data_sum=0
n=0
k=k+1
else:
break
return data
if __name__=="__main__":
fivemeans=price_means(5,data[:,0])
thirtymeans=price_means(30,datacopy1[:,0])
plt.figure()
for i in range(m):
date_=np.zeros([2])
date_[0]=i
date_[1]=i
gain=np.zeros([2])
datacopy2=np.sort(datacopy2,axis=0)
gain[0]=datacopy2[i,1]
gain[1]=datacopy2[i,0]
if datacopy2[i,1]<datacopy2[i,0]:
plt.plot(date_,gain,'r',lw=3)
else:
plt.plot(date_,gain,'b',lw=3)
plt.plot(date,fivemeans[::-1],lw=3,color="orange",label="5MA")
plt.plot(date,thirtymeans[::-1],lw=3,color="g",label="30MA")
plt.grid()
plt.legend()
plt.title("5MA,30MA,positive lines and negative lines of Kweichow Moutai",fontsize=20)
plt.xlabel("Date")
plt.ylabel("Closing Price")
plt.show()
利用python绘制股票的5日均线、30日均线以及阳线阴线图
最新推荐文章于 2024-04-23 11:04:41 发布