当我下载多个股票代码并按代码分组时,我如何对adj收盘价进行索引以计算一只股票的平均值



我正在尝试计算每个股票行情的平均调整收盘价,但我不确定如何索引调整价格

ADDYY                          ...     BAS.DE                      
Open        High         Low  ...      Close  Adj Close     Volume
Date                                            ...                                 
2018-12-31  104.599998  105.050003  104.190002  ...        NaN        NaN        NaN
2019-01-02  105.419998  105.559998  104.449997  ...  60.720001  48.283272  2564044.0
2019-01-03  105.809998  105.889999  104.510002  ...  60.020000  47.726646  2213589.0
2019-01-04  107.550003  109.190002  107.550003  ...  63.189999  50.247360  4197991.0
2019-01-07  108.610001  109.180000  108.419998  ...  62.900002  50.016762  2437345.0
...         ...         ...  ...        ...        ...        ...
2019-12-25         NaN         NaN         NaN  ...        NaN        NaN        NaN
2019-12-26  162.059998  162.199997  160.850006  ...        NaN        NaN        NaN
2019-12-27  162.800003  163.570007  162.360001  ...  67.900002  56.472588  1640149.0
2019-12-30  164.000000  164.000000  162.009995  ...  67.349998  56.015144   936462.0
2019-12-31  161.990005  163.210007  161.990005  ...        NaN        NaN        NaN

如果你得到多只股票的股价,你可以将它们从宽格式转换为长格式,然后将它们分组并取平均值。

import yfinance as yf
data = yf.download("AAPL TSLA GOOG", start="2021-01-01", end="2021-11-01")
data = data.stack(0).reset_index().rename(columns={'level_1':'Ticker'})
# wide data to long data
data.groupby('Ticker')[['AAPL','GOOG','TSLA']].mean()
AAPL      GOOG         TSLA
Ticker          
Adj Close   1.357595e+02    2.421038e+03    7.205466e+02
Close   1.362118e+02    2.421038e+03    7.205466e+02
High    1.375085e+02    2.440157e+03    7.339905e+02
Low     1.347968e+02    2.398244e+03    7.059369e+02
Open    1.361722e+02    2.417294e+03    7.200422e+02
Volume  8.940042e+07    1.302243e+06    2.758429e+07

最新更新