Overall Statistics |
Total Trades 68 Average Win 3.70% Average Loss -2.15% Compounding Annual Return 12.552% Drawdown 29.600% Expectancy 0.182 Net Profit 18.270% Sharpe Ratio 0.457 Probabilistic Sharpe Ratio 20.539% Loss Rate 57% Win Rate 43% Profit-Loss Ratio 1.72 Alpha 0.212 Beta -0.569 Annual Standard Deviation 0.281 Annual Variance 0.079 Information Ratio -0.04 Tracking Error 0.437 Treynor Ratio -0.226 Total Fees $676.76 Estimated Strategy Capacity $320000000.00 Lowest Capacity Asset AAPL R735QTJ8XC9X |
from AlgorithmImports import * class QuiverCongressDataAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2019, 1, 1) self.SetEndDate(2020, 6, 1) self.SetCash(100000) # Requesting data aapl = self.AddEquity("AAPL", Resolution.Daily).Symbol quiver_congress_symbol = self.AddData(QuiverCongress, aapl).Symbol # Historical data history = self.History(QuiverCongress, quiver_congress_symbol, 60, Resolution.Daily) self.Debug(f"We got {len(history)} items from our history request"); def OnData(self, data): points = data.Get(QuiverCongress) # Determine net direction of Congress trades for each security net_quantity_by_symbol = {} for point in points.Values: symbol = point.Symbol.Underlying if symbol not in net_quantity_by_symbol: net_quantity_by_symbol[symbol] = 0 net_quantity_by_symbol[symbol] += (1 if point.Transaction == OrderDirection.Buy else -1) * point.Amount for symbol, net_quantity in net_quantity_by_symbol.items(): # Buy when Congress members have bought if net_quantity > 0: self.SetHoldings(symbol, 1) # Short sell when Congress members have sold else: self.SetHoldings(symbol, -1)