Skip to content

SimpleDataPrinterStrategy

This example show a naive market data printer strategy: print out quote and tick data on the given time frequency

Click here to run directly

import time

class SimpleDataPrinterStrategy(BaseStrategy):
    def __init__(self, msecs):
        self.msecs = msecs
        self.start_time = time.time_ns()
        self.next_fire_time = self.start_time + self.msecs * 1e6

    def onQuote(self, msg):
        current_time = time.time_ns()
        if current_time > self.next_fire_time:
            self.next_fire_time = current_time + self.msecs * 1e6
            print(msg)

    def onTick(self, msg):
        current_time = time.time_ns()
        if current_time > self.next_fire_time:
            self.next_fire_time = current_time + self.msecs * 1e6
            print(msg)