| Overall Statistics |
|
Total Trades 1666 Average Win 0.81% Average Loss -3.88% Compounding Annual Return 37.306% Drawdown 68.100% Expectancy -0.400 Net Profit 119.089% Sharpe Ratio 0.805 Probabilistic Sharpe Ratio 24.929% Loss Rate 50% Win Rate 50% Profit-Loss Ratio 0.21 Alpha 0.224 Beta 1.499 Annual Standard Deviation 0.631 Annual Variance 0.398 Information Ratio 0.561 Tracking Error 0.568 Treynor Ratio 0.339 Total Fees $3052.99 Estimated Strategy Capacity $130000000.00 Lowest Capacity Asset IPOC XFA956ZU3MUD |
class LiquidUniverseSelection(QCAlgorithm):
filteredByPrice = None
def Initialize(self):
self.SetStartDate(2019, 1, 11)
self.SetEndDate(2021, 7, 1)
self.SetCash(100000)
self.AddUniverse(self.CoarseSelectionFilter)
self.UniverseSettings.Resolution = Resolution.Daily
#1. Set the leverage to 0
self.UniverseSettings.Leverage =0
def CoarseSelectionFilter(self, coarse):
sortedByDollarVolume = sorted(coarse, key=lambda c: c.DollarVolume, reverse=True)
filteredByPrice = [c.Symbol for c in sortedByDollarVolume if c.Price > 10]
return filteredByPrice[:10]
def OnSecuritiesChanged(self, changes):
self.changes = changes
self.Log(f"OnSecuritiesChanged({self.Time}):: {changes}")
for security in self.changes.RemovedSecurities:
if security.Invested:
self.Liquidate(security.Symbol)
for security in self.changes.AddedSecurities:
#2. Leave a cash buffer by setting the allocation to 0.18 instead of 0.2
self.SetHoldings(security.Symbol, 0.18)