Overall Statistics |
Total Trades 472 Average Win 0.32% Average Loss -0.33% Compounding Annual Return 8.403% Drawdown 20.300% Expectancy 0.899 Net Profit 199.955% Sharpe Ratio 0.883 Probabilistic Sharpe Ratio 27.581% Loss Rate 3% Win Rate 97% Profit-Loss Ratio 0.96 Alpha 0.075 Beta -0.034 Annual Standard Deviation 0.082 Annual Variance 0.007 Information Ratio -0.07 Tracking Error 0.193 Treynor Ratio -2.147 Total Fees $476.77 |
namespace QuantConnect.Algorithm.CSharp { public class Markowitz : QCAlgorithm { public override void Initialize() { SetStartDate(2006, 1, 1); //Set Start Date SetEndDate(2019, 08, 10); SetCash(100000); //Set Strategy Cash UniverseSettings.Resolution = Resolution.Daily; var symbols = new[] { QuantConnect.Symbol.Create("SPY", SecurityType.Equity, Market.USA), QuantConnect.Symbol.Create("TLT", SecurityType.Equity, Market.USA), QuantConnect.Symbol.Create("GLD", SecurityType.Equity, Market.USA) }; SetUniverseSelection( new ManualUniverseSelectionModel(symbols) ); AddAlpha(new ConstantAlphaModel(InsightType.Price, InsightDirection.Up, TimeSpan.FromDays(365*20), 1, null, null)); SetPortfolioConstruction(new MeanVarianceOptimizationPortfolioConstructionModel( TimeSpan.FromDays(30), PortfolioBias.Long, 1, 63, Resolution.Daily, 0.02, null)); /* SetPortfolioConstruction(new EqualWeightingPortfolioConstructionModel( TimeSpan.FromDays(30), PortfolioBias.Long)); */ SetExecution(new ImmediateExecutionModel()); AddRiskManagement(new NullRiskManagementModel()); } /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. /// Slice object keyed by symbol containing the stock data public override void OnData(Slice data) { // if (!Portfolio.Invested) // { // SetHoldings(_spy, 1); // Debug("Purchased Stock"); //} } } }