Умножьте два DataFrames для создания MultiIndex - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь использовать приведенный ниже код для расчета стоимости сверхурочных портфеля отдельного человека для пула акций. Файл 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.

...