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 -9.647 Tracking Error 0.101 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 |
using System; using System.Collections.Generic; using System.Linq; using QuantConnect.Data.Fundamental; using QuantConnect.Data.UniverseSelection; using QuantConnect.Securities; using static System.DateTime; using System; using System.Collections.Generic; using System.Linq; using QuantConnect.Data; using QuantConnect.Data.Custom; using QuantConnect.Data.Market; using QuantConnect.Indicators; using QuantConnect.Securities.Equity; using QuantConnect.Interfaces; namespace QuantConnect { /// <summary> /// Basic template algorithm simply initializes the date range and cash /// </summary> public class DailyIdentityAlgorithm : QCAlgorithm { ////////////////////////////////////// SPY VARIABLES ////////////////////////////////////////////////// private Symbol _spy = QuantConnect.Symbol.Create("SPY", SecurityType.Equity, Market.USA); private SimpleMovingAverage _sma_spy; private Identity _identity_spy; ////////////////////////////////////// AIG VARIABLES ////////////////////////////////////////////////// private Symbol _aig = QuantConnect.Symbol.Create("AIG", SecurityType.Equity, Market.USA); private SimpleMovingAverage _sma_aig; private Identity _identity_aig; ////////////////////////////////////// BTX VARIABLES ////////////////////////////////////////////////// private Symbol _btx = QuantConnect.Symbol.Create("BTX", SecurityType.Equity, Market.USA); private SimpleMovingAverage _sma_btx; private Identity _identity_btx; /// <summary> /// Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized. /// </summary> public override void Initialize() { SetStartDate(2021, 03 ,24); //Set Start Date SetEndDate(2021, 08, 27); //Set End Date SetCash(Convert.ToDouble(GetParameter("cash"))); //Set Strategy Cash double cash = Convert.ToDouble(GetParameter("cash")); double perActionFunds= Convert.ToDouble(GetParameter("per action fund")); //////////////////////// Manual Universe Selection /////////////////////////////////////////////////////////////// ////////////////////////////////////// SPY VARIABLES INITIALIZAZTION ////////////////////////////////////////////////// AddEquity("SPY", Resolution.Minute); _sma_spy = SMA("SPY", 60, Resolution.Daily, x => ((TradeBar)x).Volume); _identity_spy = Identity("SPY", Resolution.Daily, Field.High); ////////////////////////////////////// AIG VARIABLES INITIALIZAZTION ////////////////////////////////////////////////// AddEquity("AIG", Resolution.Minute); _sma_aig = SMA("AIG", 60, Resolution.Daily, x => ((TradeBar)x).Volume); _identity_aig = Identity("AIG", Resolution.Daily, Field.High); ////////////////////////////////////// BTX VARIABLES INITIALIZAZTION ////////////////////////////////////////////////// AddEquity("BTX", Resolution.Minute); _sma_btx = SMA("BTX", 60, Resolution.Daily, x => ((TradeBar)x).Volume); _identity_btx = Identity("BTX", Resolution.Daily, Field.High); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // schedule an event to fire every trading day for a security // the time rule here tells it to fire 10 minutes before SPY's market close bool liquidate = Convert.ToBoolean(GetParameter("liquidate")); if (liquidate = true){ Schedule.On(DateRules.EveryDay("SPY"), TimeRules.BeforeMarketClose("SPY", 10), () => //Don't have to change it for every instrument in the portfolio { Liquidate();//Liquidate entire portfolio }); } SetWarmUp(TimeSpan.FromDays(1)); } /// <summary> /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. /// </summary> /// <param name="data">Slice object keyed by symbol containing the stock data</param> public override void OnData(Slice data) { TradeBars bars = data.Bars; ////// JUST FOR SPY VOLUME /////////////////////////////////// //Debug("60d volume "+_sma_spy.Current.Value); //Debug("Current Volume "+bars["SPY"].Volume); /////////////////////////////////////////////////// if (data.ContainsKey("SPY") && bars["SPY"].Price > _identity_spy.Current.Value && _identity_spy.IsReady){ Debug("Current SPY price "+bars["SPY"].Price); Debug("Current HOD SPY price "+_identity_spy.Current.Value); //SetHoldings("SPY",0.1); } if (data.ContainsKey("AIG") && bars["AIG"].Price > _identity_aig.Current.Value && _identity_aig.IsReady){ Debug("Current AIG price "+bars["AIG"].Price); Debug("Current HOD AIG price "+_identity_aig.Current.Value); //SetHoldings("AIG",0.1); } /* if (data.ContainsKey("BTX") && bars["BTX"].Price > _identity_btx.Current.Value && _identity_btx.IsReady){ Debug("Current BTX price "+bars["BTX"].Price); Debug("Current HOD BTX price "+_identity_btx.Current.Value); //SetHoldings("BTX",0.1); } */ }//closes OnData } }