/// <summary> /// Generate the leverage utilization plot using the python libraries. /// </summary> public override string Render() { var backtestSeries = Metrics.LeverageUtilization(_backtestPortfolios).FillMissing(Direction.Forward); var liveSeries = Metrics.LeverageUtilization(_livePortfolios).FillMissing(Direction.Forward); var base64 = ""; using (Py.GIL()) { var backtestList = new PyList(); var liveList = new PyList(); backtestList.Append(backtestSeries.Keys.ToList().ToPython()); backtestList.Append(backtestSeries.Values.ToList().ToPython()); liveList.Append(liveSeries.Keys.ToList().ToPython()); liveList.Append(liveSeries.Values.ToList().ToPython()); base64 = Charting.GetLeverage(backtestList, liveList); } return(base64); }