| 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
}
}