Overall Statistics |
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio 0 Tracking Error 0 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
#region imports from AlgorithmImports import * #endregion # https://quantpedia.com/Screener/Details/26 from QuantConnect.Data.UniverseSelection import * import math import numpy as np import pandas as pd import scipy as sp class BooktoMarketAnomaly(QCAlgorithm): def Initialize(self): self.SetStartDate(2018, 7, 1) self.SetEndDate(2018, 7, 2) self.SetCash(1000000) self.UniverseSettings.Resolution = Resolution.Daily self.sorted_by_bm = None self.AddUniverse(self.CoarseSelectionFunction, self.FineSelectionFunction) # Count the number of months that have passed since the algorithm starts def CoarseSelectionFunction(self, coarse): return [x.Symbol for x in coarse if x.HasFundamentalData and x.Price > 5] def FineSelectionFunction(self, fine): top_market_cap = sorted(fine, key = lambda x:x.MarketCap, reverse=True)[:int(len([i for i in fine])*0.2)] self.sorted_by_mc = [i.Symbol for i in top_market_cap] total_market_cap = np.sum([i.MarketCap for i in top_market_cap]) self.weights = {} for i in top_market_cap: self.weights[str(i.Symbol)] = i.MarketCap/total_market_cap return self.sorted_by_mc def OnData(self, data): pass