trade_analytics.volume_weighted_avg_yield
*****************************************

spice.trade_analytics.volume_weighted_avg_yield(trades: DataFrame) -> float | None

   Calculate volume-weighted average yield from trade data.

   Parameters:
      **trades** -- DataFrame with columns: - trade_date: Date of
      trade - trade_volume: Volume/notional amount (numeric) -
      trade_yield: Yield as decimal (e.g., 0.0725 for 7.25%)

   Returns:
      Volume-weighted average yield as decimal, or None if no valid
      trades

   -[ Notes ]-

   * Input yields must be in decimal format (0.0725 for 7.25%)

   * Output is converted to decimal format

   -[ Example ]-

   >>> trades = pd.DataFrame({
   ...     'trade_date': ['2024-01-01', '2024-01-02'],
   ...     'trade_volume': [1000000, 500000],
   ...     'trade_yield': [0.075, 0.073]
   ... })
   >>> volume_weighted_avg_yield(trades)
   0.074333
