| Overall Statistics |
|
Total Orders 1968 Average Win 1.01% Average Loss -1.17% Compounding Annual Return 15.316% Drawdown 65.500% Expectancy 0.100 Start Equity 100000 End Equity 193129.25 Net Profit 93.129% Sharpe Ratio 0.466 Sortino Ratio 0.465 Probabilistic Sharpe Ratio 7.978% Loss Rate 41% Win Rate 59% Profit-Loss Ratio 0.86 Alpha 0.106 Beta 1.624 Annual Standard Deviation 0.517 Annual Variance 0.267 Information Ratio 0.358 Tracking Error 0.442 Treynor Ratio 0.148 Total Fees $9262.77 Estimated Strategy Capacity $630000.00 Lowest Capacity Asset RY R735QTJ8XC9X Portfolio Turnover 23.56% |
# region imports
from AlgorithmImports import *
# endregion
class LeveragedCopyCongressAlgorithm(QCAlgorithm):
def initialize(self):
self.set_start_date(2020, 1, 1)
self.set_cash(100000)
self._universe = self.add_universe(
QuiverQuantCongressUniverse,
lambda constituents: [c.symbol for c in constituents if c.transaction == OrderDirection.BUY]
)
spy = Symbol.create('SPY', SecurityType.EQUITY, Market.USA)
self.schedule.on(self.date_rules.week_start(spy), self.time_rules.after_market_open(spy, 30), self._trade)
def _trade(self):
if self._universe.selected is None: return
symbols = [s for s in self._universe.selected if s in self.securities and self.securities[s].price]
if len(symbols) == 0: return
weight = 1.5 / len(symbols)
targets = [PortfolioTarget(symbol, weight) for symbol in symbols]
self.set_holdings(targets, True)