| 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 -6.106 Tracking Error 0.107 Treynor Ratio 0 Total Fees $0.00 |
namespace QuantConnect.Algorithm.CSharp
{
public class ModulatedVerticalSplitter : QCAlgorithm
{
public override void Initialize()
{
SetStartDate(2021, 1, 6);
SetEndDate(2021, 1, 12);
SetCash(100000);
UniverseSettings.Resolution = Resolution.Minute;
UniverseSettings.ExtendedMarketHours = true;
UniverseSettings.MinimumTimeInUniverse = TimeSpan.Zero;
SetUniverseSelection(new ScheduledUniverseSelectionModel(
DateRules.Every(DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday),
TimeRules.Every(TimeSpan.FromHours(1)),
SelectSymbols
));
}
public override void OnData(Slice data)
{
if (Time.TimeOfDay == new TimeSpan(16, 00, 0))
{
foreach (var universe in UniverseManager.Values)
{
if (universe is UserDefinedUniverse)
{
continue;
}
var symbols = universe.Members.Keys;
foreach (var x in symbols)
{
Debug($"{x.Value} {Time}");
}
Debug($"Universe count {symbols.Count()}");
}
foreach (var x in ActiveSecurities.Keys) {
Debug($"Active at 15:35: {x.Value}");
}
}
}
public override void OnSecuritiesChanged(SecurityChanges changes) {
if (changes.AddedSecurities.Count > 0) {
foreach (var s in changes.AddedSecurities) {
Debug($"added {s.Symbol.Value}");
}
}
if (changes.RemovedSecurities.Count > 0) {
foreach (var s in changes.RemovedSecurities) {
Debug($"removed {s.Symbol.Value}");
}
}
foreach (var x in ActiveSecurities.Keys) {
Debug($"Active: {x.Value}");
}
}
IEnumerable<Symbol> SelectSymbols(DateTime dateTime)
{
if (Time.TimeOfDay == new TimeSpan(13, 00, 0))
{
Debug("13:00 // should have only AAPL and IBM");
yield return QuantConnect.Symbol.Create("AAPL", SecurityType.Equity, Market.USA);
yield return QuantConnect.Symbol.Create("IBM", SecurityType.Equity, Market.USA);
} else if (Time.TimeOfDay == new TimeSpan(16, 00, 0)) {
Debug("16:00 should have only AMD");
yield return QuantConnect.Symbol.Create("AMD", SecurityType.Equity, Market.USA);
}
else
{
yield return QuantConnect.Symbol.Create("TSLA", SecurityType.Equity, Market.USA);
}
}
}
}