我对编码比较陌生,我有一些我不太明白如何解决的问题。我正在尝试构建代码,该代码将生成从股票代码列表生成的图表,数据从雅虎财经下载。暂时考虑手动分配 stock1 (等等)一个股票代码......
我想弄清楚如何将数据循环到运行图表中,因此我的代码中包含 TSLA 和 MSFT。到目前为止,我有下面的代码,我已经更改了 dfs 和 stock。我只是不明白如何制作循环。如果有人也有一些好的循环资源,请告诉我。
稍后,我想将图表另存为 png,其文件名对应于从 yahoo 中提取的股票,因此如果有人知道如何更改(savefig = dict(fname="tsla.png", bbox_inches= "tight")
之后的代码,则可以加分style = 'default'
。谢谢您的帮助!
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import datetime as dt
import mplfinance as mpf
import yfinance as yf
#yahoo info
start = "2020-01-01"
end = dt.datetime.now()
stock1 = 'TSLA'
stock2 = 'MSFT'
df1 = yf.download(stock1, start, end)
df2 = yf.download(stock2, start, end)
stocks = [[stock1],[stock2]]
dfs = [[df1],[df2]]
changingvars = [[stocks],[dfs]]
#graph1
short_sma = 20
long_sma = 50
SMAs = [short_sma, long_sma]
for i in SMAs:
dfs["SMA_"+ str(i)] = dfs.iloc[:,4].rolling(window=i).mean()
graph1 = mpf.plot(dfs, type = 'candlestick',figratio=(16,6),
mav=(short_sma,long_sma),
volume=True, title= str(stocks),
style='default')
plt.show()