【问题标题】:mplfinance moving average gaps and exponential moving averagesmplfinance 移动平均线缺口和指数移动平均线
【发布时间】:2022-01-26 13:37:24
【问题描述】:

我在 mplfinance 图上打印移动平均线,正如预期的那样存在差距。

在大多数图表软件(例如 TradingView 等)上,它们在移动平均线上没有缺口 - 并假设它们从之前的 -n 个元素中提取数据(即使是不连续的跳跃,它们也接受这一点)。

请教两个问题:

  1. 我怎样才能在没有差距的情况下运行移动平均线(理解它会 在不连续的 n 个元素内偏斜)... 即前一天拉入并使用它来计算移动平均线,但不显示那一天(这样移动平均线将已经在图的左侧运行 -低于 12 月 21 日开始)?

  2. 如果我想在 mplfinance 内部函数之外计算此移动平均线(或更改为指数移动平均线等),我将如何将其作为单独的图添加到烛台之上?

我的代码如下:

import mplfinance as mpf
import pandas as pd
from polygon import RESTClient
import yfinance as yf
import datetime

start = datetime.date(2021,12,21)
end = datetime.date(2021,12,23)
yfResults = yf.download("AAPL", start=start, end=end, period='1d', interval='5m')
mpf.plot(yfResults, type='candlestick', xrotation=0, style='yahoo', tight_layout=True, volume=True, mav=(9, 20), figratio=(48,24))

【问题讨论】:

    标签: pandas mplfinance


    【解决方案1】:
    1. 正如您所暗示的,那些在移动平均线开始时没有显示间隙的系统是通过使用显示数据之前的数据作为移动平均线计算的一部分来实现的。您可以通过将 kwarg xlim=(min,max) 在您的呼叫中设置为 mpf.plot() 来完成同样的事情,方法是将 min 设置为比您的最大移动平均线小一,并且 max=len(data) ... 所以对于给定您上面的代码示例,请执行以下操作:
    mpf.plot( yfResults, type='candlestick', xrotation=0, style='yahoo',
             tight_layout=True, volume=True, mav=(9, 20), figratio=(48,24),
             xlim=(19,len(yfResults)) )
    
    1. 您可以使用mpf.make_addplot() api 和addplot kwarg 计算和绘制任何附加数据。详情请见https://github.com/matplotlib/mplfinance/blob/master/examples/addplot.ipynb

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 2019-04-24
      相关资源
      最近更新 更多