public void Setup() { this.signalQueue = new ObservableQueue <Signal>(); this.tradingData = new TradingDataContext(); this.lLeg = new List <StrategyHeader>(); this.rLeg = new List <StrategyHeader>(); this.lStrategy = new StrategyHeader(1, "Left leg strategyHeader", "BP12345-RF-01", "SBRF-3.14_FT", 10); this.tradingData.Get <ICollection <StrategyHeader> >().Add(lStrategy); this.lLeg.Add(this.lStrategy); this.rStrategy = new StrategyHeader(2, "Right leg strategyHeader", "BP12345-RF-01", "SBPR-3.13_FT", 11); this.tradingData.Get <ICollection <StrategyHeader> >().Add(rStrategy); this.rLeg.Add(this.rStrategy); this.arbitrageSettings = new ArbitrageSettings(1, this.lLeg, this.rLeg, new SpreadSettings(1.12, 1.25, 1.01)); this.tradingData.Get <ICollection <ArbitrageSettings> >().Add(this.arbitrageSettings); this.lStrategyVolumeChangeStep = new StrategyVolumeChangeStep(this.lStrategy, 2); this.tradingData.Get <ICollection <StrategyVolumeChangeStep> >().Add(this.lStrategyVolumeChangeStep); ArbitrageOpenPositionOnSpreadValue handler = new ArbitrageOpenPositionOnSpreadValue(this.arbitrageSettings, this.lStrategy, this.tradingData, this.signalQueue, new NullLogger()); }
public CalculateSpreadOnOrderBookChange(ArbitrageSettings arbitrageSettings, OrderBookContext orderBook, IDataContext tradingData, ILogger logger) { this.arbitrageSettings = arbitrageSettings; this.orderBook = orderBook; this.tradingData = tradingData; this.logger = logger; this.orderBook.OnQuotesUpdate += new SymbolDataUpdatedNotification(CalculateSpreadOnQuotesUpdate); }
public ArbitrageOpenPositionOnSpreadValue(ArbitrageSettings arbitrageSettings, StrategyHeader strategyHeader, IDataContext tradingData, ObservableQueue <Signal> signalQueue, ILogger logger) : base(tradingData.Get <ObservableCollection <SpreadValue> >()) { this.arbitrageSetings = arbitrageSettings; this.strategyHeader = strategyHeader; this.tradingData = tradingData; this.signalQueue = signalQueue; this.logger = logger; this.isLeftLegStrategy = arbitrageSettings.LeftLeg.Any(s => s.Id == strategyHeader.Id); }
public void SetUp() { leftLeg = new List <StrategyHeader>(); rightLeg = new List <StrategyHeader>(); this.leftLeg.Add(new StrategyHeader(1, "Left leg strategyHeader", "BP12345-RF-01", "RTS-12.13_FT", 10)); this.rightLeg.Add(new StrategyHeader(2, "Right leg strategyHeader", "BP12345-RF-01", "Si-12.13_FT", 50)); spreadSettings = new SpreadSettings(1.10, 1.11, 0.9); arbitrageSettings = new ArbitrageSettings(1, leftLeg, rightLeg, spreadSettings); }
public void ArbitrageSettings_default_constructor_test() { ArbitrageSettings arbitrageSettings = new ArbitrageSettings(); Assert.IsInstanceOfType(arbitrageSettings, typeof(IIdentified)); Assert.IsTrue(arbitrageSettings.Id > 0); Assert.IsNotNull(arbitrageSettings.LeftLeg); Assert.IsNotNull(arbitrageSettings.RightLeg); Assert.AreEqual(0, arbitrageSettings.LeftLeg.Count()); Assert.AreEqual(0, arbitrageSettings.RightLeg.Count()); Assert.IsNotNull(arbitrageSettings.SpreadSettings); Assert.AreEqual(0, arbitrageSettings.SpreadSettings.FairPrice); Assert.AreEqual(0, arbitrageSettings.SpreadSettings.BuyBeforePrice); Assert.AreEqual(0, arbitrageSettings.SpreadSettings.SellAfterPrice); }
public void Setup() { this.leftLeg = new List <StrategyHeader>(); this.rigthLeg = new List <StrategyHeader>(); this.leftStrategy = new StrategyHeader(1, "Left leg", "BP12345-RF-01", "AB", 10); this.rightStrategy = new StrategyHeader(2, "Right leg", "BP1235-RF-01", "BA", 10); this.leftLeg.Add(this.leftStrategy); this.rigthLeg.Add(this.rightStrategy); this.spreadSettings = new SpreadSettings(); this.arbitrageSettings = new ArbitrageSettings(1, this.leftLeg, this.rigthLeg, this.spreadSettings); this.orderBook = new OrderBookContext(); this.tradingData = new TradingDataContext(); CalculateSpreadOnOrderBookChange handler = new CalculateSpreadOnOrderBookChange(this.arbitrageSettings, this.orderBook, this.tradingData, new NullLogger()); }