def METHOD_NAME(data: DataFrame) -> DataFrame:
    """Takes an ARK orders dataframe and pulls data from Yahoo Finance to add
    volume, open, close, high, low, and total columns
    Parameters
    ----------
    data: DataFrame
        ARK orders data frame with the following columns -
        (ticker, date, shares, weight, fund, direction)
    Returns
    -------
    DataFrame
        ARK orders data frame with the following columns -
        (ticker, date, shares, volume, open, close, high, low, total, weight, fund, direction)
    """
    start_date = data["date"].iloc[-1] - timedelta(days=1)
    tickers = " ".join(data["ticker"].unique())
    prices = yf.download(tickers, start=start_date, progress=False)
    if prices.empty:
        return pd.DataFrame()
    for i, candle in enumerate(["Volume", "Open", "Close", "High", "Low", "Total"]):
        data.insert(i + 3, candle.lower(), 0)
    pd.options.mode.chained_assignment = None
    for i, _ in data.iterrows():
        if np.isnan(
            prices["Open"][data.loc[i, "ticker"]][
                data.loc[i, "date"].strftime("%Y-%m-%d")
            ]
        ):
            for candle in ["Volume", "Open", "Close", "High", "Low", "Total"]:
                data.loc[i, candle.lower()] = 0
            continue
        for candle in ["Volume", "Open", "Close", "High", "Low"]:
            data.loc[i, candle.lower()] = prices[candle][data.loc[i, "ticker"]][
                data.loc[i, "date"].strftime("%Y-%m-%d")
            ]
        data.loc[i, "total"] = data.loc[i, "close"] * data.loc[i, "shares"]
    pd.options.mode.chained_assignment = "warn"
    return data