Overall Statistics
Total Trades
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
-0.877
Tracking Error
0.273
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
# Percentage Volume Oscillator (PVO) using QC MACD indicator
# --------------------------------------------
STOCK = 'SPY'; MA_F= 12; MA_S = 26; MA_SIG = 9
# --------------------------------------------
class PercentageVolumeOscillator(QCAlgorithm):

    def Initialize(self):
    
        self.SetStartDate(2020, 1, 1)
        self.SetCash(100000)
        self.stock = self.AddEquity(STOCK, Resolution.Daily).Symbol
        self.SetWarmUp(MA_S)
        self.macd = MovingAverageConvergenceDivergence(MA_F, MA_S, MA_SIG, MovingAverageType.Simple)
        

    def OnData(self, data):
        if data.Bars.ContainsKey(self.stock):
            self.macd.Update(data[self.stock].EndTime, data[self.stock].Volume)

        if self.macd.IsReady:

            pvo = float(100*(self.macd.Fast.Current.Value/self.macd.Slow.Current.Value - 1))
            
            self.Plot("Indicator", "PVO", pvo)
            self.Plot("Indicator", "Zero", 0)