| Overall Statistics |
|
Total Trades 3859 Average Win 0.53% Average Loss -0.61% Compounding Annual Return 8.759% Drawdown 51.400% Expectancy 0.068 Net Profit 92.325% Sharpe Ratio 0.474 Probabilistic Sharpe Ratio 6.382% Loss Rate 43% Win Rate 57% Profit-Loss Ratio 0.86 Alpha 0.064 Beta 0.111 Annual Standard Deviation 0.156 Annual Variance 0.024 Information Ratio -0.107 Tracking Error 0.197 Treynor Ratio 0.668 Total Fees ₹148678.38 Estimated Strategy Capacity ₹12000000.00 Lowest Capacity Asset ITC QJHEY4UKW9JH |
#region imports
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Globalization;
using System.Drawing;
using QuantConnect;
using QuantConnect.Algorithm.Framework;
using QuantConnect.Algorithm.Framework.Selection;
using QuantConnect.Algorithm.Framework.Alphas;
using QuantConnect.Algorithm.Framework.Portfolio;
using QuantConnect.Algorithm.Framework.Execution;
using QuantConnect.Algorithm.Framework.Risk;
using QuantConnect.Parameters;
using QuantConnect.Benchmarks;
using QuantConnect.Brokerages;
using QuantConnect.Util;
using QuantConnect.Interfaces;
using QuantConnect.Algorithm;
using QuantConnect.Indicators;
using QuantConnect.Data;
using QuantConnect.Data.Consolidators;
using QuantConnect.Data.Custom;
using QuantConnect.DataSource;
using QuantConnect.Data.Fundamental;
using QuantConnect.Data.Market;
using QuantConnect.Data.UniverseSelection;
using QuantConnect.Notifications;
using QuantConnect.Orders;
using QuantConnect.Orders.Fees;
using QuantConnect.Orders.Fills;
using QuantConnect.Orders.Slippage;
using QuantConnect.Scheduling;
using QuantConnect.Securities;
using QuantConnect.Securities.Equity;
using QuantConnect.Securities.Future;
using QuantConnect.Securities.Option;
using QuantConnect.Securities.Forex;
using QuantConnect.Securities.Crypto;
using QuantConnect.Securities.Interfaces;
using QuantConnect.Storage;
using QuantConnect.Data.Custom.AlphaStreams;
using QCAlgorithmFramework = QuantConnect.Algorithm.QCAlgorithm;
using QCAlgorithmFrameworkBridge = QuantConnect.Algorithm.QCAlgorithm;
#endregion
namespace QuantConnect.Algorithm.CSharp
{
public class PensiveSkyBlueZebra : QCAlgorithm
{
Security _sec;
TimeOnly _entryTime,_exitTime;
Exchange _exch;
public override void Initialize()
{
SetTimeZone("Asia/Kolkata");
SetAccountCurrency("INR");
SetStartDate(2015, 1, 1); //Set Start Date
SetCash(1000000); //Set Strategy Cash
//SetBrokerageModel(new SamcoBrokerageModel(AccountType.Cash));
//SetBrokerageModel();
_entryTime = new TimeOnly(15,25);
_exitTime = new TimeOnly(9,25);
_sec=AddEquity("ITC", Resolution.Minute,market:Market.India);
_sec.Exchange.DateTimeIsOpen(Time);
//AddEquity("BND", Resolution.Minute);
//AddEquity("AAPL", Resolution.Minute);
Schedule.On(DateRules.EveryDay(), TimeRules.At(15, 29), () =>{ if(_sec.Exchange.DateTimeIsOpen(Time)){ SetHoldings(_sec.Symbol, 1); Debug("Going long: Fired at : " + Time); }});
Schedule.On(DateRules.EveryDay(), TimeRules.At(9, 16), () =>{ if(_sec.Exchange.DateTimeIsOpen(Time)){ SetHoldings(_sec.Symbol, 0.0); Debug("Going flat: Fired at : " + Time); }});
}
/// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
/// Slice object keyed by symbol containing the stock data
public override void OnData(Slice data)
{
//if(!Portfolio.Invested){SetHoldings(_sec.Symbol, 0.95);}
/*
var _timeOnly = TimeOnly.FromDateTime(Time);
if ( _timeOnly==_entryTime)
{
SetHoldings(_sec.Symbol, 0.95);
}
if ( _timeOnly==_exitTime)
{
SetHoldings(_sec.Symbol, 0.0);
}
*/
}
}
}