python如何绘制两点间连线_股票什么是均线,如何用Python绘制

均线(Moving average | MA),是由一系列的均值所连成的线,是技术分析(Technical analysis)中经常用到的一个指标,它排除了股票波动的一些干扰因素,展现了股票的平均走势。

他是如何排除干扰的呢?- 均值

我们一般看到的K线图上,展现的都是实时或者历史的真实数据,没有经过任何处理的原始数据。而均线则不一样,它展示的是一个平均的数据。以五日收盘价均线(MA5)为例,它代表了当天以及当天往前4天,这五天的平均收盘价格。也正是因此,所以均线也是一个动态的数据,一个滚动的数据。

均线的计算方式有很多种,比如使用的时间点不同,我们可以计算收盘价的均线、开盘价的均线,整天价格平均值的均线等等;而使用的时间间隔不同,我们又可以分为5分钟均线,30分钟均线,5日均线,60日均线等等;还比如,采用的平均值算法不一样,也可以分为简单均线(算术平均值),加权均线,指数移动均线等等。

不同的计算方法,代入了不同的指标,可以反应出股票不同角度的信息,MA5和MA60是看股软件上比较喜欢默认显示的均线,他们分别代表了股票在短期(5天)和长期(60天)下的平均趋势。

b545c826de1fb8e84ca1f497853d9d0e.png

上面的5日均线,是非常简单的一种均线,获得的过程也非常简单:

  • 从计算日(含)开始,往前推五个交易日,计算出每日收盘价的平均值,作为计算日的值;

  • 以此类推,计算出特定时间区间段内每天的MA5;

  • 将这些值连成线,展现到原始的K线图上。


下面,我们就拿出一组数据,来尝试一下。

1、获取股票的历史数据

网上很多地方都可以获得股票的历史数据,为了方便,我们直接用Python,以及他的一个第三方财经包tushare,来获取一些基础数据进行分析。

token = "替换成你自己的token"import tushare as tspro = ts.pro_api(token)  # 设置token # 获取股票列表stock_list = pro.stock_basic(exchange='',                              list_status='L',                             is_hs='',                             )
len(stock_list)  # 统计股票数量3951
stock_list  #  显示股票列表

f68463f46a744d6036e7dd33fb2f1e4f.png

# 现在,我们就选第一支股票,获取历史交易数据(日)target_stock = '000001.SZ'# 获取行情数据stock_daily = pro.daily(ts_code=target_stock,                        start_date='20200101',                        end_date='20200831',                        )                        stock_daily  # 显示每日交易数据

5ff0ff1ea3940580f19f1b3c5fcfb8eb.png

# 我们只需要收盘数据datas = stock_daily[['trade_date','close']]datas

34d19c6aa894e10ec28eede34a40cb64.png

# 添加一列,用于保存MA5datas.insert(2,'MA5','')datas

c35337f6de0ddd7e3d14f33b4296b1c8.png

2、计算每一天的五日均值

每一天的均值,就是向前4天的数据的几何平均值。

f56bb797b52123f7fafb7006f4b467e4.png

for day in range(0, len(datas)-4): # 最后4天没有计算结果    days_5 = datas['close'][day:day+5]   # 提取出5天的数据    days_5_mean = days_5.mean()  # 计算出5天的均值    datas.loc[day, 'MA5'] = round(days_5_mean, 2) # 存入表格    datas

156e5eea40fb5f3f7c1ab2d32583abe0.png

3、画出每日收盘价和MA5

import matplotlib.pyplot as plt  # 画图模块plt.figure(figsize=(50,5), dpi=300) # 设置图片大小plt.plot(datas['trade_date'][::-1], datas['close'][::-1], label="Close")plt.plot(datas['trade_date'][::-1][5:], datas['MA5'][::-1][5:], label="MD5")plt.title('000001.SZ')plt.xlabel('Date')plt.ylabel('Price')plt.xticks(rotation=45)plt.legend()plt.show()

52b09defee932f5a6c157e0f2734cd3c.png

3edfc258d8476ffc16aa4617a82bb738.png


个人观点:

均线是整个股票走势的动态均值,它排除或者说削弱了股价极端值对整体走势的异常影响,因此从曲线上可以明显的看出,均线相对较平稳一些,并且总是在原始股价两侧不断变动。

另外,由于均线是均值,所以它代表了股价走势的平均水平。这种走势一般是具有惯性的,可以通过均值走势,大致看到未来的趋势。如果我们把原始价格走势看成人走路的速度,把均线看成平均速度,我们可以对速度求一阶导数,得到加速度,用加速度来预测未来速度变化,股票价格也许成立。

但是图中也可以感受到,即便是5日均线,也是明显滞后,用均线判断交易标准,也存在滞后问题。

67074fe97e68a391b367b1fa09b03d57.png

如果我们再返回文章最上面,仔细看第一张图,会发现时间越久的均线,滞后性越强。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值