def setUp(self):
        self.pubsub = MockRedis()
        self.trans = connection.begin()
        self.session = Session(connection)

        currency = Currency(name='Pesos', code='ARG')
        self.exchange = Exchange(name='Merval', code='MERV', currency=currency)
        self.owner = Owner(name='poor owner')
        self.broker = Broker(name='broker1')
        self.account = Account(owner=self.owner, broker=self.broker)
        self.account.deposit(Money(amount=10000, currency=currency))
Exemplo n.º 2
0
 def setUp(self):
     pesos = Currency(name='Pesos', code='ARG')
     merval = Exchange(name='Merval', code='MERV', currency=pesos)
     owner = Owner(name='test user')
     self.account = Account(owner=owner)
     self.security = Stock(symbol='YPF', exchange=merval)
     self.tick = {
         'pattern': None,
         'data': {
             'volume30d': '12165.08453826',
             'timestamp': '1446070419',
             'high': '305',
             'ask': 302.7022,
             'last': '302.632',
             'bid': 301.0001,
             'low': '294.51',
             'volume': '437.07501250'
         },
         'type': 'message',
         'security': self.security,
         'channel': b'BTC'
     }
Exemplo n.º 3
0
    engine = create_engine('sqlite://')
    session_factory = sessionmaker(bind=engine)
    Session = scoped_session(session_factory)
    session = Session()

    Base.metadata.create_all(engine)
    usd = Currency(name='Dollar', code='USD')
    nasdaq = Exchange(name='NASDAQ', currency=usd)
    stock_ebay = Stock(symbol='EBAY',
                       exchange=nasdaq,
                       ISIN='US2786421030',
                       description='')

    owner = Owner(name='Lucky')
    broker = Broker(name='Cheap Broker')
    account = Account(owner=owner, broker=broker)
    pesos = Currency(name='Pesos', code='ARG')
    account.deposit(Money(amount=1000, currency=pesos))
    config_file = "backtest_smaPortfolio.ini"
    config = PyConfig(config_file)
    strategy = StrategyFactory.create_strategy(
        config.get(CONF_ULTRAFINANCE_SECTION, CONF_STRATEGY_NAME),
        config.getSection(CONF_ULTRAFINANCE_SECTION))

    th_tick_feeder = TickFeederThread(config,
                                      redis_conn,
                                      securities=[stock_ebay])

    start = datetime.now()
    end = datetime.now() - timedelta(days=30)
    th_trading_engine = TradingEngineThread(redis_conn.pubsub(),