public static string eqRiskPortfolio( [ExcelArgument(Description = "Portfolio Id ")] string ObjectId, [ExcelArgument(Description = "Instruments in portfolio ")] object[] instids, [ExcelArgument(Description = "trigger ")] object trigger) { if (ExcelUtil.CallFromWizard()) { return(""); } string callerAddress = ""; callerAddress = ExcelUtil.getActiveCellAddress(); try { List <EnergyCommodityExt> port_ = new List <EnergyCommodityExt>(); foreach (string sid in instids) { EnergyCommodityExt inst = OHRepository.Instance.getObject <EnergyCommodityExt>(sid); port_.Add(inst); } string id = "Port@" + ObjectId; OHRepository.Instance.storeObject(id, port_, callerAddress); id += "#" + (String)DateTime.Now.ToString(@"HH:mm:ss"); return(id); } catch (Exception e) { ExcelUtil.logError(callerAddress, System.Reflection.MethodInfo.GetCurrentMethod().Name.ToString(), e.Message); return(e.Message); } }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EnergyCommodityExt obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
public static object eqInstDisplayEnergySwap( [ExcelArgument(Description = "id of energy ")] string ObjectId, [ExcelArgument(Description = "trigger ")] object trigger) { if (ExcelUtil.CallFromWizard()) { return(""); } string callerAddress = ""; callerAddress = ExcelUtil.getActiveCellAddress(); try { Xl.Range rng = ExcelUtil.getActiveCellRange(); EnergyCommodityExt inst = OHRepository.Instance.getObject <EnergyCommodityExt>(ObjectId); if (inst.GetType() == typeof(EnergyFutureExt)) { PricingPeriodExt pp = (inst as EnergyFutureExt).pricingPeriod(); object[,] ret = new object[2, 10]; ret[0, 0] = "PayDate"; ret[0, 1] = "Quantity"; ret[0, 2] = "PayCoeff"; ret[0, 3] = "RecCoeff"; ret[0, 4] = "PaySprd"; ret[0, 5] = "RecSprd"; ret[0, 6] = "PayDelta"; ret[0, 7] = "DiscountedPayDelta"; ret[0, 8] = "RecDelta"; ret[0, 9] = "DiscountedRecDelta"; ret[1, 0] = pp.paymentDate().serialNumber(); ret[1, 1] = pp.quantity(); ret[1, 2] = pp.payCoeff(); ret[1, 3] = pp.recCoeff(); ret[1, 4] = pp.paySpread(); ret[1, 5] = pp.recSpread(); ret[1, 6] = pp.getuPayDelta(); ret[1, 7] = pp.getdPayDelta(); ret[1, 8] = pp.getuRecDelta(); ret[1, 9] = pp.getdRecDelta(); return(ret); } else { double npv = inst.NPV(); PricingPeriodExts pps = (inst as EnergySwapExt).pricingPeriods(); object[,] ret = new object[pps.Count + 1, 10]; ret[0, 0] = "PayDate"; ret[0, 1] = "Quantity"; ret[0, 2] = "PayCoeff"; ret[0, 3] = "RecCoeff"; ret[0, 4] = "PaySprd"; ret[0, 5] = "RecSprd"; ret[0, 6] = "PayDelta"; ret[0, 7] = "DiscountedPayDelta"; ret[0, 8] = "RecDelta"; ret[0, 9] = "DiscountedRecDelta"; for (int i = 0; i < pps.Count; i++) { ret[i + 1, 0] = pps[i].paymentDate().serialNumber(); ret[i + 1, 1] = pps[i].quantity(); ret[i + 1, 2] = pps[i].payCoeff(); ret[i + 1, 3] = pps[i].recCoeff(); ret[i + 1, 4] = pps[i].paySpread(); ret[i + 1, 5] = pps[i].recSpread(); ret[i + 1, 6] = pps[i].getuPayDelta(); ret[i + 1, 7] = pps[i].getdPayDelta(); ret[i + 1, 8] = pps[i].getuRecDelta(); ret[i + 1, 9] = pps[i].getdRecDelta(); } return(ret); } } catch (Exception e) { ExcelUtil.logError(callerAddress, System.Reflection.MethodInfo.GetCurrentMethod().Name.ToString(), e.Message); return("#EQ_ERR!"); } }