| Overall Statistics |
|
Total Orders 3 Average Win 0% Average Loss -21.97% Compounding Annual Return 6.753% Drawdown 33.900% Expectancy -1 Start Equity 100000 End Equity 110439.72 Net Profit 10.440% Sharpe Ratio 0.31 Sortino Ratio 0.246 Probabilistic Sharpe Ratio 16.155% Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.078 Beta 0.776 Annual Standard Deviation 0.206 Annual Variance 0.042 Information Ratio -1.079 Tracking Error 0.11 Treynor Ratio 0.082 Total Fees $4.64 Estimated Strategy Capacity $58000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X Portfolio Turnover 0.54% |
from AlgorithmImports import *
from QuantConnect.DataSource import *
class IndexDataAlgorithm(QCAlgorithm):
def initialize(self) -> None:
self.set_start_date(2020, 1, 1)
self.set_end_date(2021, 7, 8)
self.set_cash(100000)
# Trade on SPY
self.spy = self.add_equity("SPY").symbol
# Use indicator for signal; but it cannot be traded
spx = self.add_index("SPX").symbol
self.ema_fast = self.EMA(spx, 80, Resolution.DAILY)
self.ema_slow = self.EMA(spx, 200, Resolution.DAILY)
self.set_warm_up(200, Resolution.DAILY)
history = self.history(spx, 60, Resolution.DAILY)
self.debug(f'We got {len(history.index)} items from our history request')
def on_data(self, slice: Slice) -> None:
# Warm up indicators
if self.is_warming_up or not self.ema_slow.is_ready:
return
if not self.portfolio.invested and self.ema_fast > self.ema_slow:
self.set_holdings(self.spy, 1)
elif self.ema_fast < self.ema_slow:
self.liquidate()