| 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