diff --git a/Common/Scheduling/ScheduleManager.cs b/Common/Scheduling/ScheduleManager.cs
index 61b0448769d6..6bcf46f00554 100644
--- a/Common/Scheduling/ScheduleManager.cs
+++ b/Common/Scheduling/ScheduleManager.cs
@@ -66,7 +66,7 @@ public ScheduleManager(IAlgorithm algorithm, SecurityManager securities, DateTim
/// Sets the implementation
///
/// The event schedule implementation to be used. This is the IRealTimeHandler
- internal void SetEventSchedule(IEventSchedule eventSchedule)
+ public void SetEventSchedule(IEventSchedule eventSchedule)
{
if (eventSchedule == null)
{
diff --git a/Research/QuantBook.cs b/Research/QuantBook.cs
index 9bb875981932..c3266e4a7533 100644
--- a/Research/QuantBook.cs
+++ b/Research/QuantBook.cs
@@ -38,6 +38,7 @@
using QuantConnect.Lean.Engine.Setup;
using QuantConnect.Indicators;
using QuantConnect.Scheduling;
+using QuantConnect.Lean.Engine.RealTime;
namespace QuantConnect.Research
{
@@ -142,6 +143,10 @@ public QuantBook() : base()
new AlgorithmManager(false));
systemHandlers.LeanManager.SetAlgorithm(this);
+ var realTimeHandler = composer.GetPart();
+ var algorithmManager = new AlgorithmManager(false, algorithmPacket);
+ realTimeHandler.Setup(this, algorithmPacket, algorithmHandlers.Results, systemHandlers.Api, algorithmManager.TimeLimit);
+ Schedule.SetEventSchedule(realTimeHandler);
algorithmHandlers.DataPermissionsManager.Initialize(algorithmPacket);