引言:
邢不行的系列帖子“量化小講堂”,通過實際案例教初學者使用python進行量化投資,瞭解行業研究方向,希望能對大家有幫助。
【歷史文章彙總】請點擊此處
【必讀文章】EOS期現套利,一週時間,15%無風險收益
個人微信: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交流。
如果你想入門量化,但是始終找不到方向,可以加入我的知識星球。我會在裏面解答你的問題,分享我的感悟,不論是投資、技術,還是職業選擇、思維方式。
-- 學習和成長從來都不是一個人的事 --