繁体   English   中英

Python:使用 pyfolio 中的 plot_drawdown_underwater 和 pandas-datareader 中的 get_data_yahoo 绘制股票回撤时遇到问题

[英]Python: Trouble making separate plots using plot_drawdown_underwater from pyfolio and get_data_yahoo from pandas-datareader to plot stock drawdown

我有这个代码:

from pandas_datareader import data as pdr
import pyfolio as pf

myStartDate = "2019-1-1"   # (Format: Year-Month-Day)
myEndDate = "2020-11-11"   # (Format: Year-Month-Day)
myTickers = ["AAPL", "MSFT"]

myData = pdr.get_data_yahoo(myTickers, myStartDate, myEndDate)

myDailyAdjustedClose = myData[['Adj Close']]
returns = myDailyAdjustedClose.pct_change()

pf.plot_drawdown_underwater(returns)

问题是苹果和微软都绘制在同一个图上。 相反,我想要 2 个单独的图。

而不是“pf.plot_drawdown_underwater(returns)”我也试过:

for x in range(returns.shape[1]):
    columnData = returns.iloc[:, x]
    pf.plot_drawdown_underwater(columnData)

但我还是得到了同样的结果。

这有效:

from pandas_datareader import data as pdr
import pyfolio as pf
import matplotlib.pyplot as plt

myStartDate = "2019-1-1"   # (Format: Year-Month-Day)
myEndDate = "2020-11-11"   # (Format: Year-Month-Day)
myTickers = ["AAPL", "MSFT"]

myData = pdr.get_data_yahoo(myTickers, myStartDate, myEndDate)

myDailyAdjustedClose = myData[['Adj Close']]
returns = myDailyAdjustedClose.pct_change()

returnsColumnCount = returns.shape[1]

fig, ax = plt.subplots(returnsColumnCount, 1, figsize=(10, 10))
fig.tight_layout(pad=5)

for x in range(returnsColumnCount):
    columnData = returns.iloc[:, x]
    pf.plot_drawdown_underwater(columnData, ax=ax[x])

plt.show();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM