【邢不行|量化小講堂系列04-Python量化入門】使用python計算移動平均線

引言:

邢不行的系列帖子“量化小講堂”,通過實際案例教初學者使用python進行量化投資,瞭解行業研究方向,希望能對大家有幫助。

【歷史文章彙總】請點擊此處

【必讀文章】EOS期現套利,一週時間,15%無風險收益

                     10年400倍策略分享(附視頻逐行代碼講解)

個人微信:xingbuxing0807,有問題歡迎交流。

 


使用python計算各類移動平均線

計算移動平均線是最常見的需求,下面這段代碼將完成以下三件事情:

從csv格式的文件中導入股票數據,數據例圖如下:

 

 

2.計算各類移動平均線,包括簡單簡單算術移動平均線MA、指數平滑移動平均線EMA;
3.將計算好的數據輸出到csv文件中。

代碼應該複製下來就能運行了,關於從哪裏可以得到代碼中使用的數據,後面會講,下面貼上代碼


– coding: utf-8 –
“””
@author: yucezhe
@contact: QQ:2089973054 email:[email protected]
“””

import pandas as pd

========== 從原始csv文件中導入股票數據,以浦發銀行sh600000爲例

# 導入數據 – 注意:這裏請填寫數據文件在您電腦中的路徑
stock_data = pd.read_csv(‘stock data/sh600000.csv’, parse_dates=[1])

# 將數據按照交易日期從遠到近排序
stock_data.sort(‘date’, inplace=True)

# ========== 計算移動平均線

# 分別計算5日、20日、60日的移動平均線
ma_list = [5, 20, 60]

# 計算簡單算術移動平均線MA – 注意:stock_data[‘close’]爲股票每天的收盤價
for ma in ma_list:
stock_data[‘MA_’ + str(ma)] = pd.rolling_mean(stock_data[‘close’], ma)

# 計算指數平滑移動平均線EMA
for ma in ma_list:
stock_data[‘EMA_’ + str(ma)] = pd.ewma(stock_data[‘close’], span=ma)

# 將數據按照交易日期從近到遠排序
stock_data.sort(‘date’, ascending=False, inplace=True)

# ========== 將算好的數據輸出到csv文件 – 注意:這裏請填寫輸出文件在您電腦中的路徑
stock_data.to_csv(‘sh600000_ma_ema.csv’, index=False)

代碼輸出的數據截圖如下

 

對本文研究有自己的想法的朋友,歡迎在評論區留言。關於文中的代碼、數據,以及下期《量化小講堂》想了解的內容,也可以加我個人微信xingbuxing0807交流。

如果你想入門量化,但是始終找不到方向,可以加入我的知識星球。我會在裏面解答你的問題,分享我的感悟,不論是投資、技術,還是職業選擇、思維方式。 

                                                                         -- 學習和成長從來都不是一個人的事 --

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章