Overall Statistics
Total Orders
84
Average Win
0.86%
Average Loss
-0.76%
Compounding Annual Return
37.615%
Drawdown
29.100%
Expectancy
0.545
Start Equity
100000
End Equity
137735.79
Net Profit
37.736%
Sharpe Ratio
1.037
Sortino Ratio
0.977
Probabilistic Sharpe Ratio
46.614%
Loss Rate
27%
Win Rate
73%
Profit-Loss Ratio
1.12
Alpha
0.148
Beta
0.888
Annual Standard Deviation
0.282
Annual Variance
0.079
Information Ratio
0.941
Tracking Error
0.139
Treynor Ratio
0.328
Total Fees
$114.14
Estimated Strategy Capacity
$1500000000.00
Lowest Capacity Asset
MSFT R735QTJ8XC9X
Portfolio Turnover
1.00%
Drawdown Recovery
110
# region imports
from AlgorithmImports import *
# endregion

class VirtualMagentaBeaver(QCAlgorithm):

    def initialize(self):
        self.set_start_date(2020, 1, 1)
        self.set_end_date(2021, 1, 1)
        self.set_cash(100000)
        
        # Universe: Top 10 most liquid US equities
        self.universe_settings.resolution = Resolution.DAILY
        self._universe = self.add_universe(self.universe.top(10))
        
        # Rebalance monthly on the first trading day
        self.schedule.on(
            self.date_rules.month_start('SPY'), 
            self.time_rules.midnight, 
            self._rebalance
        )

    def _rebalance(self):
        symbols = list(self._universe.selected)
        if not symbols:
            return
        targets = [PortfolioTarget(symbol, 1.0 / len(symbols)) for symbol in symbols]
        self.set_holdings(targets, True)