Я пытаюсь использовать приведенный ниже код для расчета стоимости сверхурочных портфеля отдельного человека для пула акций. Файл stockOwnership.csv очень прост, просто перечисляет акции и сколько акций принадлежит каждому человеку. Это выглядит так:
Ticker, NameA, NameB, NameC
ALXN, 10, , 100
AMZN, 12, 15,
BABA, , 150, 12
BCRX, , , 175
Затем я использую следующий код для импорта данных в формате csv и получения данных о запасах с помощью финансов Yahoo. Цены, по-видимому, являются мультииндексом, но я смог выделить дневное закрытие и «сжать» (не уверен, каков правильный термин), чтобы он больше не был мультииндексом в ценах_2.
import yfinance as yf
import pandas as pd
stock_list ='ALXN AMZN BABA BCRX'
ownership = pd.read_csv('stockOwnership.csv', index_col='Ticker')
prices = yf.download(stock_list, start="2020-03-20", end="2020-06-30",
group_by='ticker')
idx=pd.IndexSlice
prices_2 = prices.loc[idx[:], idx[:,'Close']]
prices_2.columns = prices_2.columns.get_level_values(0)
Цены_3 просто перенесены на P_2, потому что я собирался объединиться с владельцем и рассчитать стоимость портфеля по дате для каждого человека.
prices_3 = prices_2.T
prices_3.index = prices_3.index.rename("Ticker")
После этого я немного растерялся , Я хотел бы умножить два кадра данных вместе, и я думаю, что мой идеальный результат - это мультииндекс, показывающий значение каждого тикера для каждого отдельного человека в диапазоне дат. Это позволило бы мне обобщить общую стоимость по дате. Я попробовал простой метод mul (), но он просто добавляет в конец столбцы, связанные с каждым человеком, и каждое значение выглядит как NaN.