def testAddSource(self): dam = self.mock.CreateMockAnything('dam') dam.symbol = 's1' tf = TickFeeder() tf.addSource(dam) self.assertEquals({'s1': dam}, tf._TickFeeder__source)
def testPubTicks(self): sub = self.mock.CreateMock(TickSubsriber) sub.tickUpdate(['ticks']) tf = TickFeeder() self.mock.ReplayAll() thread = tf.pubTicks(['ticks'], sub) self.mock.VerifyAll()
def testInputType(self): tf = TickFeeder() #invalid type - test assignment self.assertRaises(UfException, tf._TickFeeder__setInputType, 'adafsdf') #valid type - test assignment tf.inputType = TickFeeder.TICK_TYPE self.assertEquals(TickFeeder.TICK_TYPE, tf.inputType)
def testRegister_Exception(self): sub = self.mock.CreateMock(TickSubsriber) sub.subRules().AndReturn(['s3', 'mockRule']) tf = TickFeeder() tf._TickFeeder__source = {'s1': 'dam1', 's11': 'dam2', 's2': 'dam3'} self.mock.ReplayAll() self.assertRaises(UfException, tf.register, sub) self.mock.VerifyAll()
def __init__(self, config, mCalculator, symbol): self.__accountManager = AccountManager() self.__tickFeeder = TickFeeder() self.__tradingCenter = TradingCenter() self.__tradingEngine = TradingEngine() self.__indexHelper = IndexHelper() self.__history = History() self.__saver = None self.__symbol = symbol self.__config = config self.__mCalculator = mCalculator
def testValidate_Normal(self): sub = self.mock.CreateMock(TickSubsriber) sub.subRules().AndReturn(['s1', 'mockRule']) tf = TickFeeder() tf._TickFeeder__source = {'s1': 'dam1', 's11': 'dam2', 's2': 'dam3'} self.mock.ReplayAll() symbols, sub = tf.validate(sub) self.mock.VerifyAll() print(symbols)
def testRegister_Normal(self): sub = self.mock.CreateMock(TickSubsriber) sub.subRules().AndReturn(['s1', 'mockRule']) tf = TickFeeder() tf._TickFeeder__source = {'s1': 'dam1', 's11': 'dam2', 's2': 'dam3'} self.mock.ReplayAll() tf.register(sub) self.mock.VerifyAll() subs = tf.getSubs() print(subs) self.assertEquals({sub: {'symbols': ['s1'], 'fail': 0}}, subs)
def testGetSymbolsByRe(self): tf = TickFeeder() tf._TickFeeder__source = {'s1': 'dam1', 's11': 'dam2', 's2': 'dam3'} symbols = tf.getSymbolsByRe('s3') print(symbols) self.assertEquals([], symbols) symbols = tf.getSymbolsByRe('s1') print(symbols) self.assertEquals(['s1'], symbols) symbols = tf.getSymbolsByRe('.*') print(symbols) self.assertEquals(set(symbols), set(['s1', 's11', 's2']))
def __init__(self, config, metricManager, accounts, symbols, startTickDate, endTradeDate, cash): self.__accountManager = AccountManager() self.__accountId = None self.__startTickDate = startTickDate self.__endTradeDate = endTradeDate self.__tickFeeder = TickFeeder(start=startTickDate, end=endTradeDate) self.__tradingCenter = TradingCenter() self.__tradingEngine = TradingEngine() self.__indexHelper = IndexHelper() self.__accounts = accounts self.__history = History() self.__saver = None self.__symbols = symbols self.__config = config self.__metricManager = metricManager self.__cash = cash
def testIndexTicks_tick(self): tickTime1Dam1 = Tick('time1', 'open1', 'high1', 'low1', 'close1', 'volume1') tickTime2Dam1 = Tick('time2', 'open2', 'high2', 'low2', 'close2', 'volume2') tickTime1Dam2 = Tick('time1', 'open11', 'high11', 'low11', 'close11', 'volume11') tickTime2Dam2 = Tick('time2', 'open22', 'high22', 'low22', 'close22', 'volume22') dam1 = self.mock.CreateMock(BaseDAM) dam1.readTicks(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn( [tickTime1Dam1, tickTime2Dam1]) dam2 = self.mock.CreateMock(BaseDAM) dam2.readTicks(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn( [tickTime1Dam2, tickTime2Dam2]) tf = TickFeeder() tf.inputType = TickFeeder.TICK_TYPE tf._TickFeeder__source = {'s1': dam1, 's2': dam2} self.mock.ReplayAll() timeTicks = tf.indexTicks() self.mock.VerifyAll() print(timeTicks) self.assertEquals( { 'time1': { 's1': tickTime1Dam1, 's2': tickTime1Dam2 }, 'time2': { 's1': tickTime2Dam1, 's2': tickTime2Dam2 } }, timeTicks)
def testLoadTicks_quote(self): time1 = datetime.now() time2 = datetime.now() quoteTime1Dam1 = Quote(time1, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0) quoteTime2Dam1 = Quote(time2, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0) quoteTime1Dam2 = Quote(time1, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0) quoteTime2Dam2 = Quote(time2, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0) dam1 = self.mock.CreateMock(BaseDAM) dam1.readQuotes(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn( [quoteTime1Dam1, quoteTime2Dam1]) dam2 = self.mock.CreateMock(BaseDAM) dam2.readQuotes(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn( [quoteTime1Dam2, quoteTime2Dam2]) tf = TickFeeder() tf.inputType = QUOTE appGlobal[TRADE_TYPE] = QUOTE tf._TickFeeder__source = {'s1': dam1, 's2': dam2} self.mock.ReplayAll() timeTicks = tf.loadTicks() self.mock.VerifyAll() self.assertEquals( { time1: { 's1': quoteTime1Dam1, 's2': quoteTime1Dam2 }, time2: { 's1': quoteTime2Dam1, 's2': quoteTime2Dam2 } }, timeTicks)