code: public static RandomVariable blackScholesOptionDelta(
  			RandomVariable initialStockValue,
  			RandomVariable riskFreeRate,
  			RandomVariable volatility,
  			double optionMaturity,
  			double optionStrike)
  	{
  		if(optionMaturity < 0) {
  			return initialStockValue.mult(0.0);
  		}
  		else
  		{
  			// Calculate delta
  			RandomVariable dPlus	= initialStockValue.div(optionStrike).log().add(volatility.squared().mult(0.5).add(riskFreeRate).mult(optionMaturity)).div(volatility).div(Math.sqrt(optionMaturity));
  
  			RandomVariable delta = dPlus.apply(NormalDistribution::cumulativeDistribution);
  
  			return delta;
  		}
  	}
docs: Calculates the delta of a call option under a Black-Scholes model
  
  The method also handles cases where the forward and/or option strike is negative
  and some limit cases where the forward or the option strike is zero.
  In the case forward = option strike = 0 the method returns 1.0.
  
  @param initialStockValue The initial value of the underlying, i.e., the spot.
  @param riskFreeRate The risk free rate of the bank account numerarie.
  @param volatility The Black-Scholes volatility.
  @param optionMaturity The option maturity T.
  @param optionStrike The option strike.
  @return The delta of the option