Overall Statistics |
Total Trades 177 Average Win 0.43% Average Loss -0.26% Compounding Annual Return 11.889% Drawdown 5.500% Expectancy 0.294 Net Profit 5.859% Sharpe Ratio 1.312 Loss Rate 51% Win Rate 49% Profit-Loss Ratio 1.62 Alpha 0.08 Beta -0.023 Annual Standard Deviation 0.06 Annual Variance 0.004 Information Ratio 0.263 Tracking Error 0.13 Treynor Ratio -3.464 Total Fees $268.43 |
from QuantConnect.Data.Custom.Tiingo import * class TiingoNLPDemonstration(QCAlgorithm): def Initialize(self): self.wordSentiment = { "bad": -0.5, "good": 0.5, "negative": -0.5, "great": 0.5, "growth": 0.5, "fail": -0.5, "failed": -0.5, "success": 0.5, "nailed": 0.5, "beat": 0.5, "missed": -0.5, } self.SetStartDate(2019, 4, 1) self.SetCash(100000) aapl = self.AddEquity("AAPL", Resolution.Hour).Symbol self.aaplCustom = self.AddData(TiingoNews, aapl).Symbol def OnData(self, data): if not data.ContainsKey(self.aaplCustom): return news = data[self.aaplCustom] descriptionWords = news.Description.lower().split(" ") intersection = set(self.wordSentiment.keys()).intersection(descriptionWords) sentimentSum = sum([self.wordSentiment[i] for i in intersection]) self.SetHoldings(self.aaplCustom.Underlying, sentimentSum)