public void ToString_PrintsOutExpected_ExchangeAndSecurities() { var market = new Market("1", "xlon", "london stock exchange", MarketTypes.DarkPool); var date = DateTime.UtcNow; var timeBars = new EquityInstrumentInterDayTimeBar[0]; var coll = new EquityInterDayTimeBarCollection(market, date, timeBars); var result = coll.ToString(); Assert.AreEqual("Exchange (xlon.london stock exchange) Securities(0)", result); }
/// <summary> /// The calculate daily volume percentage. /// </summary> /// <param name="securityTimeBar"> /// The security. /// </param> /// <param name="tradedVolume"> /// The traded volume. /// </param> /// <returns> /// The <see cref="decimal"/>. /// </returns> private decimal CalculateDailyVolumePercentage(EquityInstrumentInterDayTimeBar securityTimeBar, decimal tradedVolume) { if (securityTimeBar.DailySummaryTimeBar.DailyVolume.Traded != 0 && tradedVolume != 0) { return(tradedVolume / securityTimeBar.DailySummaryTimeBar.DailyVolume.Traded); } else { return(0); } }
public void Ctor_AssignsVariables_Correctly() { var market = new Market("1", "xlon", "london stock exchange", MarketTypes.DarkPool); var date = DateTime.UtcNow; var timeBars = new EquityInstrumentInterDayTimeBar[0]; var coll = new EquityInterDayTimeBarCollection(market, date, timeBars); Assert.AreEqual(market, coll.Exchange); Assert.AreEqual(date, coll.Epoch); Assert.AreEqual(timeBars, coll.Securities); }
public void Ctor_AssignsVariables_Correctly() { var fi = new FinancialInstrument(); var prices = new IntradayPrices(null, null, null, null); var dates = DateTime.UtcNow; var dailyTb = new DailySummaryTimeBar(100, "USD", prices, 123, new Volume(123), dates); var market = new Market("1", "XLON", "London Stock Exchange", MarketTypes.DealerBooks); var equityTimeBar = new EquityInstrumentInterDayTimeBar(fi, dailyTb, dates, market); Assert.AreEqual(fi, equityTimeBar.Security); Assert.AreEqual(dailyTb, equityTimeBar.DailySummaryTimeBar); Assert.AreEqual(dates, equityTimeBar.TimeStamp); Assert.AreEqual(market, equityTimeBar.Market); }
private IUniverseEvent MapRowToInterdayMarketDataEvent(InterdayMarketDataParameters marketDataParam) { if (marketDataParam == null) { return(null); } if (string.IsNullOrWhiteSpace(marketDataParam.SecurityName) || !this._securitySelection.Securities.ContainsKey(marketDataParam.SecurityName)) { this._scenarioContext.Pending(); return(null); } var security = this._securitySelection.Securities[marketDataParam.SecurityName]; var open = this.MapToMoney(marketDataParam.Open, marketDataParam.Currency); var close = this.MapToMoney(marketDataParam.Close, marketDataParam.Currency); var high = this.MapToMoney(marketDataParam.High, marketDataParam.Currency); var low = this.MapToMoney(marketDataParam.Low, marketDataParam.Currency); var intradayPrices = new IntradayPrices(open, close, high, low); var dailySummary = new DailySummaryTimeBar( marketDataParam.MarketCap, marketDataParam.Currency, intradayPrices, marketDataParam.ListedSecurities, new Volume(marketDataParam.DailyVolume.GetValueOrDefault(0)), marketDataParam.Epoch); var marketData = new EquityInstrumentInterDayTimeBar( security.Instrument, dailySummary, marketDataParam.Epoch, security.Market); var timeBarCollection = new EquityInterDayTimeBarCollection( security.Market, marketDataParam.Epoch, new[] { marketData }); var universeEvent = new UniverseEvent( UniverseStateEvent.EquityInterDayTick, marketDataParam.Epoch, timeBarCollection); return(universeEvent); }
/// <summary> /// The calculate daily volume threshold percentage. /// </summary> /// <param name="securityTimeBar"> /// The security time bar. /// </param> /// <returns> /// The <see cref="long"/>. /// </returns> private long CalculateDailyVolumeThresholdPercentage(EquityInstrumentInterDayTimeBar securityTimeBar) { return((long)Math.Ceiling( this.parameters.FixedIncomeHighVolumePercentageDaily.GetValueOrDefault(0) * securityTimeBar.DailySummaryTimeBar.DailyVolume.Traded)); }