Overall Statistics |
Total Trades 113 Average Win 0.62% Average Loss -0.52% Compounding Annual Return 7.685% Drawdown 5.400% Expectancy 0.202 Net Profit 12.027% Sharpe Ratio 0.828 Probabilistic Sharpe Ratio 38.591% Loss Rate 45% Win Rate 55% Profit-Loss Ratio 1.18 Alpha 0.052 Beta 0.117 Annual Standard Deviation 0.066 Annual Variance 0.004 Information Ratio 0.232 Tracking Error 0.139 Treynor Ratio 0.47 Total Fees $372.61 Estimated Strategy Capacity $26000000.00 Lowest Capacity Asset XLV RGRPZX100F39 |
# region imports from AlgorithmImports import * # endregion class HipsterFluorescentPinkMule(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 7, 30) # Set Start Date self.SetCash(100000) # Set Strategy Cash self.symbol = self.AddEquity("XLV", Resolution.Daily).Symbol self.Settings.FreePortfolioValuePercentage = 0.25 self.dataset_symbol = self.AddData(RegalyticsRegulatoryArticles, "REG").Symbol self.SetBenchmark(self.symbol) def OnData(self, slice: Slice) -> None: # Parse articles if not slice.ContainsKey(self.dataset_symbol): return fda_news = False articles = slice[self.dataset_symbol] for article in articles: if "FDA" in article.Title: fda_news = True self.last_fda_news = self.Time if fda_news and not self.Portfolio[self.symbol].IsLong: self.SetHoldings(self.symbol, 1) elif not fda_news and not self.Portfolio[self.symbol].IsShort: self.SetHoldings(self.symbol, -0.25)