Overall Statistics |
Total Orders 17 Average Win 26.01% Average Loss -4.86% Compounding Annual Return 14.237% Drawdown 21.600% Expectancy 4.557 Start Equity 100000 End Equity 723217.54 Net Profit 623.218% Sharpe Ratio 0.722 Sortino Ratio 0.756 Probabilistic Sharpe Ratio 20.314% Loss Rate 12% Win Rate 88% Profit-Loss Ratio 5.35 Alpha 0.023 Beta 0.719 Annual Standard Deviation 0.121 Annual Variance 0.015 Information Ratio -0.02 Tracking Error 0.076 Treynor Ratio 0.122 Total Fees $97.89 Estimated Strategy Capacity $1500000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X Portfolio Turnover 0.31% |
from AlgorithmImports import * from datetime import timedelta class SpyVsSpyAlgorithm(QCAlgorithm): def initialize(self): self.set_start_date(2010, 1, 1) self.max_total_portfolio_value = -1 self.timestamp = None self.symbol = self.add_equity("SPY", Resolution.DAILY).symbol def on_data(self, slice): if not self.portfolio.invested: if self.timestamp is None or self.time > (self.timestamp + timedelta(days=30)): self.set_holdings(self.symbol, 1) self.timestamp = None else: if self.max_total_portfolio_value > 0: if self.portfolio.total_portfolio_value < 0.96 * self.max_total_portfolio_value: self.liquidate() self.timestamp = self.time self.max_total_portfolio_value = -1 self.max_total_portfolio_value = self.portfolio.total_portfolio_value