| Overall Statistics |
|
Total Trades 6 Average Win 0% Average Loss -9.91% Compounding Annual Return -40.167% Drawdown 28.400% Expectancy -1 Net Profit -27.339% Sharpe Ratio -1.443 Probabilistic Sharpe Ratio 0.241% Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.245 Beta 0.497 Annual Standard Deviation 0.198 Annual Variance 0.039 Information Ratio -1.024 Tracking Error 0.198 Treynor Ratio -0.574 Total Fees $6.00 Estimated Strategy Capacity $840000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
# region imports
from AlgorithmImports import *
# endregion
class VixCentralContangoAlgorithm (QCAlgorithm):
def Initialize(self) -> None:
self.SetStartDate(2022,1,1)
self.SetCash(25000)
self.spy = self.AddEquity("SPY", Resolution.Daily).Symbol
self.contango = self.AddData(VIXCentralContango, "VX", Resolution.Daily).Symbol
df = self.History(VIXCentralContango, self.contango, 100)
self.Debug(f'{df}')
def OnData(self, slice: Slice) -> None:
if self.contango not in slice: return
contangoData = slice.Get(VIXCentralContango, self.contango)
ratio = contangoData.Contango_F2_Minus_F1 if contangoData else 0
self.Debug(f'{self.Time} :: {ratio}')
if not self.Portfolio.Invested and ratio > 0:
self.MarketOrder(self.spy, 100)
elif ratio < 0:
self.Liquidate()