def wabp_new_portfolio_data(new_asset,
                       base_portfolio,
                       risk_free_rate = 0,
                       financing_rate = 0,
                       weight_asset = 0.20,
                       weight_base_portfolio = 0.80,
                       periodicity = 252):
    """Win Above Base Portolio (WABP) return stream: Return series after a new asset is financed and layered on top of the replacement portfolio.
    new_asset = returns of the asset you are thinking of adding to your portfolio
    base_portfolio = returns of your pre-existing portfolio (e.g. S&P 500 Index, 60/40 Stock-Bond Portfolio)
    risk_free_rate = Tbill rate
    financing_rate = portfolio margin/borrowing cost to layer new asset on top of prevailing portfolio (e.g. LIBOR + 60bps). No financing rate is reasonable for derivate overlay products.
    weight_asset = % weight you wish to overlay for the new asset on top of the previous portfolio, 25% overlay allocation is standard
    weight_base_portfolio = % weight of the replacement portfolio, 100% pre-existing portfolio value is standard
    periodicity = the frequency of the data you are sampling, typically 12 for monthly or 252 for trading day count"""
    # convert annual financing based on periodicity
    financing_rate = ((financing_rate + 1)**(1/periodicity) - 1)
    new_portfolio = (new_asset - financing_rate) * (weight_asset) + base_portfolio * (weight_base_portfolio)
    return new_portfolio