Python:将 vwap 添加到蜡烛图

问题描述 投票:0回答:1

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

as shown here

有资源我可以查一下吗

python candlestick-chart
1个回答
4
投票

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

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')

enter image description here

情节

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()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.