社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

用Python实现股价的简单移动平均值

马哥Linux运维 • 3 年前 • 422 次点击  

用Python绘制出股价的5日均线和20日均线。众所周知,5日均线是短线交易的生死线,而20日均线是中长线趋势的分水岭。因此,基于这两条均线,可以设计出一些简单的交易策略。


下面是我练习的代码
import pandas as pd
import numpy as np
from pandas_datareader import data
import datetime
import matplotlib.pyplot as plt
~~


导入库的部分,不解释了,下面拉数据:
end_date = datetime.date.today()
start_date = end_date - datetime.timedelta(days = 100)
price = data.DataReader('601127.ss','yahoo',
start_date,
end_date)
price.head()


这里我选择从yahoo拉601127这支股票过去100天的行情数据。能够看到最早的数据到2021年的10月8日:


然后我开始添加5日和20日均线

price['ma5'] = price['Adj Close'].rolling(5).mean()
price['ma20'] = price['Adj Close'].rolling(20).mean()
price.tail()


数据中就可以看到了:


为了便于观察,我用代码画了个图:

fig = plt.figure(figsize=(16,9))
ax1 = fig.add_subplot(111, ylabel='Price')
price['Adj Close'].plot(ax=ax1, color='g', lw=2., legend=True)
price.ma5.plot(ax=ax1, color='r', lw=2., legend=True)
price.ma20.plot(ax=ax1, color='b', lw=2., legend=True)
plt.grid()
plt.show()


这样就可以直观看到图像:

这样就可以根据不同周期的均线来设计移动平均策略了。

文章转载:Python编程学习圈
(版权归原作者所有,侵删)

点击下方“阅读原文”查看更多

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/126860
 
422 次点击