package org.javamoney.calc.securities; import javax.money.MonetaryAmount; import java.math.BigDecimal; import java.math.MathContext; /** * <img src="http://www.financeformulas.net/formulaimages/Dividend%20Yield%201.gif" /> * <p> * <p> The formula for the dividend yield is used to calculate the percentage return on a stock based solely on dividends. The total return on a stock * is the combination of dividends and appreciation of a stock. * * @author Manuela Grindei * @see http://www.financeformulas.net/Dividend_Yield.html */ public class DividendYield { /** * Private constructor. */ private DividendYield() { } /** * Calculates the dividend yield. * * @param dividends dividends for the period * @param initialPrice initial price for the period * @return the dividend yield */ public static BigDecimal calculate(MonetaryAmount dividends, MonetaryAmount initialPrice) { BigDecimal dividendsValue = BigDecimal.valueOf(dividends.getNumber().doubleValueExact()); BigDecimal initialPriceValue = BigDecimal.valueOf(initialPrice.getNumber().doubleValueExact()); return dividendsValue.divide(initialPriceValue, MathContext.DECIMAL64); } }