Ejemplo n.º 1
0
        private void ExecuteTrade( Trade trade, decimal price )
        {
            trade.TradeTime = DateTime.Now.ToUniversalTime();
            trade.ExecutionAmount = trade.Quantity * price;

            if( trade.Type.ToString().ToLower() == "s" )
                trade.ExecutionAmount *= -1;
           
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Utility method populates an execution
        /// </summary>
        /// <param name="trade">trade object inbound</param>
        /// <param name="price">market price to use</param>
        /// <returns></returns>
        private Execution ExecuteTrade( Trade trade, decimal price )
        {
            trade.TradeTime = DateTime.Now.ToUniversalTime();
            trade.ExecutionAmount = trade.Quantity * price;
            if( trade.Type.ToString().ToLower() == "s" )
                trade.ExecutionAmount *= -1;

            Execution exec = new Execution( trade );
            exec.ExecutionAmount = trade.ExecutionAmount;

            return exec;
        }
Ejemplo n.º 3
0
        public decimal TradeSecurity(Trade trade)
        {
            if( trade.Quantity < 1 )
                throw new ArgumentException(
                    "Invalid quantity", "quantity" );

            switch( trade.Ticker.ToLower() )
            {
                case "ibm":
                    ExecuteTrade( trade, IBM_Price );
                    break;
                case "msft":
                    ExecuteTrade( trade, MSFT_Price );
                    break;
                default:
                    throw new ArgumentException(
                        "Don't know - only MSFT & IBM", "ticker" );
            }

            return trade.ExecutionAmount;
        }
Ejemplo n.º 4
0
 public Execution( Trade trade )
 {
     _trade = trade;
     _participant = trade.Participant;
     _settlementDate = DateTime.Now.ToUniversalTime();
 }