【问题标题】:Python: Add vwap to candlestick chartPython:将 vwap 添加到烛台图表
【发布时间】:2021-08-21 05:00:59
【问题描述】:

我试图弄清楚这一点,但无法想出一个主意。我正在使用 plotly 绘制 OHlC 烛台。我还在同一个 csv 上计算了 vwap。如何将 vwap 绘制在与烛台图相同的图表上,例如

有没有资源,我可以查一下?

【问题讨论】:

    标签: python candlestick-chart


    【解决方案1】:

    为了计算交易量负载的平均价格,我使用了following page 作为参考。 mpf library 可以在这里找到,添加图的说明可以在here 找到。

    import pandas as pd
    import numpy as np
    import yfinance as yf
    import mplfinance as mpf
    
    df = yf.download("AAPL", start="2021-01-01", end="2021-07-01")
    
    v = df['Volume'].values
    tp = (df['Low'] + df['Close'] + df['High']).div(3).values
    df = df.assign(vwap=(tp * v).cumsum() / v.cumsum())
    
    adp = mpf.make_addplot(df['vwap'], type='line')
    mpf.plot(df, figratio=(8,4), type='candle', addplot=adp, volume=True, style='yahoo')
    

    情节

    import pandas as pd
    import numpy as np
    import yfinance as yf
    import plotly.graph_objects as go
    
    df = yf.download("AAPL", start="2021-01-01", end="2021-07-01")
    
    v = df['Volume'].values
    tp = (df['Low'] + df['Close'] + df['High']).div(3).values
    df = df.assign(vwap=(tp * v).cumsum() / v.cumsum())
    
    
    fig = go.Figure(data=[go.Candlestick(x=df.index,
                    open=df['Open'],
                    high=df['High'],
                    low=df['Low'],
                    close=df['Close'],name='AAPL')])
    
    fig.add_trace(go.Scatter(
        x=df.index,
        y=df['vwap'],
        mode='lines',
        name='vwap', 
        line=dict(color='royalblue',width=2)
    ))
    
    fig.update_layout(
        height=600
    )
    fig.show()
    

    【讨论】:

    • 还有一个page,请参考。如果我的回答对您有帮助,请点击对勾接受回答。
    • 由于您可能不熟悉 Mplfinance,我添加了一个使用 plotly 作为答案的示例。这也是对official reference中示例的修改。
    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多