Exemple #1
0
 public TestCase(Expression <Func <IReadOnlyList <OptionPosition>, OptionPosition, bool> > expression)
 {
     Expression = expression;
     Name       = expression.ToString();
     Predicate  = expression.Compile();
     Legs       = new List <OptionPosition>();
     _predicate = new Lazy <OptionStrategyLegPredicate>(
         () => OptionStrategyLegPredicate.Create(Expression)
         );
 }
Exemple #2
0
        public void CreatesStrikePredicate()
        {
            var predicate = OptionStrategyLegPredicate.Create(
                (legs, p) => p.Strike < legs[0].Strike
                );

            var position    = new OptionPosition(Put[95m], 1);
            var positiveSet = new List <OptionPosition> {
                new OptionPosition(Put[100m], 1)
            };

            Assert.IsTrue(predicate.Matches(positiveSet, position));

            var negativeSet = new List <OptionPosition> {
                new OptionPosition(Put[90m], 1)
            };

            Assert.IsFalse(predicate.Matches(negativeSet, position));
        }