Ejemplo n.º 1
0
        public void TestPositionAssignment()
        {
            var dataFile = new DataFile("C:\\Users\\petere\\Documents\\Visual Studio 2013\\Projects\\ConsoleApplication1\\PositionCalculator\\test_data.csv");

            var shortPositionTotalQty = dataFile.ShortPositions.Sum(r => r.Qty); //1500;
            var longPositionTotalQty  = dataFile.LongPositions.Sum(r => r.Qty);  //4600


            if (shortPositionTotalQty != -1500 || longPositionTotalQty != 4600)
            {
                throw new InvalidOperationException("DataFile Contructor failed");
            }
        }
Ejemplo n.º 2
0
        public void TestBoxedPosition()
        {
            var dataFile = new DataFile();

            dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol,-520,200"));
            dataFile.LongPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,520,500"));
            dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,-120,500"));
            dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500"));
            dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500"));

            var boxPositionAsString = dataFile.GetBoxedPosition();
            var boxPositions        = boxPositionAsString.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Skip(1).ToList();

            if (boxPositions[0] != "aTrader,aSymbol,520")
            {
                throw new InvalidOperationException("Boxed Position failed");
            }
        }
Ejemplo n.º 3
0
        public void TestNetPosition()
        {
            var dataFile = new DataFile();

            dataFile.LongPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol,-520,200"));
            dataFile.LongPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,520,500"));
            dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker1,aSymbol,-120,500"));
            dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500"));
            dataFile.ShortPositions.Add(new TraderPosition("aTrader,aBroker2,aSymbol1,-220,500"));
            dataFile.TraderPositions.AddRange(dataFile.LongPositions.Union(dataFile.ShortPositions));

            var netPositionAsString = dataFile.GetNetPosition();
            var netPositions        = netPositionAsString.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Skip(1).ToList();

            if (!netPositions.Contains("aTrader,aSymbol,-120") || !netPositions.Contains("aTrader,aSymbol1,-440"))
            {
                throw new InvalidOperationException("Net Position failed");
            }
        }