Exemple #1
0
        static void Main(string[] args)
        {
            AppLogger = new PerDayFileLogSource(Directory.GetCurrentDirectory() + "\\Log", Directory.GetCurrentDirectory() + "\\Log\\Backup")
            {
                FilePattern = "Log.{0:yyyy-MM-dd}.log",
                DeleteDays  = 20
            };

            string path = ConfigurationManager.AppSettings["InitiatorPath"];

            SessionSettings  = new SessionSettings(path);
            FileStoreFactory = new FileStoreFactory(SessionSettings);
            ScreenLogFactory = new ScreenLogFactory(SessionSettings);
            MessageFactory   = new QuickFix.FIX44.MessageFactory();

            Program myProgram = new Program();

            Initiator = new SocketInitiator(myProgram, FileStoreFactory, SessionSettings, ScreenLogFactory);

            Initiator.Start();


            Console.WriteLine("Initiator successfully started...");
            Console.ReadKey();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            string positionsCSV = ConfigurationManager.AppSettings["PositionsFile"];
            string tradesCSV    = ConfigurationManager.AppSettings["TodayTrades"];

            PositionsCSVDTO positionsDTO = PositionsLoader.GetPositions(positionsCSV);

            List <TradeDTO> todayTrades = ExecutionsLoader.GetTrades(tradesCSV);

            ILogSource Logger = new PerDayFileLogSource(Directory.GetCurrentDirectory() + "\\Log", Directory.GetCurrentDirectory() + "\\Log\\Backup")
            {
                FilePattern = "Log.{0:yyyy-MM-dd}.log",
                DeleteDays  = 20
            };


            MarginCollateralCalculator calc = new MarginCollateralCalculator(pSecurities: positionsDTO.GetSecurityMasterRecords(),
                                                                             pTodayDSPs: positionsDTO.GetTodayDailySettlementPrice(),
                                                                             pPrevDSPs: positionsDTO.GetYesterdayDailySettlementPrice(),
                                                                             pConfig: GetConfig(),
                                                                             pLogger: Logger);


            Console.WriteLine("===================== MARGIN/COLLATERAL grid ===================== ");
            foreach (string firm in positionsDTO.FirmPositions.Keys)
            {
                List <TradeDTO>     firmTrades       = todayTrades.Where(x => x.FirmId == firm).ToList();
                MarginCollateralDTO marginCollateral = calc.CalculateMargin(firmId: firm, todayCollateral: 0, todayPositions: positionsDTO.FirmPositions[firm], todayTrades: firmTrades);


                PrintMarginCollateral(marginCollateral);
            }



            Console.ReadKey();
        }