/// <summary> /// Adds a new <see cref="IRiskManagementModel"/> instance /// </summary> /// <param name="pyRiskManagementModel">The risk management model to add</param> public void AddRiskManagement(PyObject pyRiskManagementModel) { IRiskManagementModel riskManagementModel; if (!pyRiskManagementModel.TryConvert(out riskManagementModel)) { riskManagementModel = new RiskManagementModelPythonWrapper(pyRiskManagementModel); } _riskManagementModels.Add(riskManagementModel); }
/// <summary> /// Initializes a new instance of the <see cref="CompositeRiskManagementModel"/> class /// </summary> /// <param name="riskManagementModels">The individual risk management models defining this composite model</param> public CompositeRiskManagementModel(params PyObject[] riskManagementModels) { if (riskManagementModels.IsNullOrEmpty()) { throw new ArgumentException("Must specify at least 1 risk management model for the CompositeRiskManagementModel"); } _riskManagementModels = new IRiskManagementModel[riskManagementModels.Length]; for (var i = 0; i < riskManagementModels.Length; i++) { if (riskManagementModels[i].TryConvert(out _riskManagementModels[i])) { _riskManagementModels[i] = new RiskManagementModelPythonWrapper(riskManagementModels[i]); } } }