使用pandas繪制股票均線,這里以5日均線和20日均線為例。
1. 首先導(dǎo)入pandas模塊。
- import pandas as pd
- # 設(shè)置最大列數(shù),避免只顯示部分列
- pd.set_option('display.max_columns', 1000)
- # 設(shè)置最大行數(shù),避免只顯示部分行數(shù)據(jù)
- pd.set_option('display.max_rows', 1000)
- # 設(shè)置顯示寬度
- pd.set_option('display.width', 1000)
- # 設(shè)置每列最大寬度,避免屬性值或列名顯示不全
- pd.set_option('display.max_colwidth',1000)
- from matplotlib import pyplot as plt
2. 讀取數(shù)據(jù)。
df = pd.read_csv(r'C:\Users\飄逸\Desktop\600837.csv')
3. 計(jì)算5日和20日均線。
- # 常量定義
- MA5 = 'MA5'
- MA20 = 'MA20'
- # 計(jì)算均線
- df[MA5] = df['Close'].rolling(5).mean()
- df[MA20] = df['Close'].rolling(20).mean()
4. 繪圖。為了方便觀察,這里將均線圖和實(shí)際走勢(shì)分開,實(shí)際走勢(shì)使用的是收盤價(jià)。
- fig=plt.figure(1)
- fig.set(alpha=0.2)
- # 子圖一:均線圖
- plt.subplot2grid((2,1),(0,0))
- df[MA5].plot()
- df[MA20].plot()
- plt.title("MA5 and MA20")
- plt.legend(("MA5", "MA20"), loc="lower left")
- # 子圖二:收盤價(jià)
- plt.subplot2grid((2,1),(1,0))
- df['Close'].plot()
- plt.title("Close")
- plt.legend(("Close",), loc="lower left")
- plt.show()
繪圖結(jié)果如下。上圖:均線,下圖:實(shí)際走勢(shì)。
聯(lián)系客服