示例#1
0
        public double NPV(Trade trade, SimMarket simMarket)
        {
            double npv = 0.0;

            try
            {
                double fx        = simMarket.FxSpot(trade.NpvCurrency() + _baseCcyCode).link.value();
                double numeraire = simMarket.Numeraire();
                npv = trade.Instrument().NPV() * fx / numeraire;
            }
            catch (Exception ex)
            {
                //ALOG("Failed to price trade " << trade->id() << " : " << e.what());
                npv = 0;
            }

            return(npv);
        }