public FixingFuncPathValue(IFixingFunction fixingFunction, Tuple <int, int>[] fixingCoordinates) { FixingFunction = fixingFunction; FixingCoordinates = fixingCoordinates; //Buffer initialization fixingBuffer = new double[fixingFunction.Fixings.Length]; }
public void MonoPayoffTest(string payoffScript, IDictionary <string, object> parameters, Func <double, double> refPayoff) { DslPayoffExpression payoffExpr = DslPayoffParser.Parse(payoffScript, parameters); IFixingFunction payoff = DslPayoffCompiler.Compile(payoffExpr).First(); var rand = new Random(4321); for (int i = 0; i < 100; i++) { var fixingValue = 2.0 * rand.NextDouble(); var cpnValue = payoff.Value(new[] { fixingValue }); var refCpnValue = refPayoff(fixingValue); Assert.AreEqual(cpnValue, refCpnValue); } }
public Coupon(PaymentInfo paymentInfo, IFixingFunction payoff) { PaymentInfo = paymentInfo; Payoff = payoff; Fixings = payoff.Fixings; }
private FixingFuncPathValue FixingFuncPathValue(IFixingFunction payoff) { var coords = payoff.Fixings.Map(f => FindFixingIndex(simulatedFixings, f)); return(new FixingFuncPathValue(payoff, coords)); }
public WeightedFixingFunction(double weigth, IFixingFunction fixingFunc) { this.weigth = weigth; this.fixingFunc = fixingFunc; }