cashflow_analytics.net_present_value
************************************

spice.cashflow_analytics.net_present_value(cashflows: Series, discount_rate: float, valuation_date: date | None = None, day_count_convention: str = 'ACT_365', use_simple_interest: bool = False, compounding_frequency: Literal['annual', 'semi_annual'] = 'annual') -> float

   Calculate net present value of cashflows.

   Parameters:
      * **cashflows** -- Series with date index and cashflow amounts
        as values (negative for outflows)

      * **discount_rate** -- Annual discount rate (e.g., 0.05 for 5%)

      * **valuation_date** -- Date to value cashflows from (defaults
        to today)

      * **day_count_convention** -- Day counting method

      * **use_simple_interest** -- If True, uses simple interest
        instead of compound

      * **compounding_frequency** -- Frequency of rate compounding
        ("annual" or "semi_annual")

   Returns:
      Net present value of all cashflows

   -[ Example ]-

   >>> cashflows = pd.Series([-1000, 500, 600],
   ...                      index=pd.DatetimeIndex(['2024-01-01', '2024-07-01', '2025-01-01']))
   >>> npv = net_present_value(cashflows, 0.1)
   >>> # For semi-annual rate
   >>> npv_semi = net_present_value(cashflows, 0.05, compounding_frequency="semi_annual")
