コード例 #1
0
def main():
    backtest_config = BacktestingConfig(
        id="down2%-test-config",
        stg_id="down2%",
        stg_cls='algotrader.strategy.down_2pct_strategy.Down2PctStrategy',
        portfolio_id='test',
        portfolio_initial_cash=100000,
        instrument_ids=[1],
        subscription_types=[
            BarSubscriptionType(bar_type=BarType.Time, bar_size=BarSize.D1)
        ],
        from_date=date(2010, 1, 1),
        to_date=date.today(),
        broker_id=Broker.Simulator,
        feed_id=Feed.CSV,
        stg_configs={'qty': 1000},
        ref_data_mgr_type=RefDataManager.DB,
        persistence_config=backtest_mongo_persistance_config(),
        provider_configs=[
            MongoDBConfig(),
            CSVFeedConfig(path='../../data/tradedata')
        ])
    app_context = ApplicationContext(app_config=backtest_config)

    BacktestRunner(True).start(app_context)
コード例 #2
0
def get_default_app_context():
    config = MongoDBConfig()
    persistence_config = PersistenceConfig(
        None, DataStore.Mongo, PersistenceMode.Batch, DataStore.Mongo,
        PersistenceMode.Batch, DataStore.Mongo, PersistenceMode.Batch,
        DataStore.Mongo, PersistenceMode.Batch)
    app_config = ApplicationConfig(None, None, None, persistence_config,
                                   config)
    return ApplicationContext(app_config=app_config)
コード例 #3
0
def app_context():
    persistence_config = PersistenceConfig(None,
                                           DataStore.Mongo, PersistenceMode.RealTime,
                                           DataStore.Mongo, PersistenceMode.RealTime,
                                           DataStore.Mongo, PersistenceMode.RealTime,
                                           DataStore.Mongo, PersistenceMode.RealTime)
    app_config = ApplicationConfig(id=None, ref_data_mgr_type=RefDataManager.DB, clock_type=Clock.RealTime,
                                   persistence_config=persistence_config,
                                   provider_configs=[MongoDBConfig(), IBConfig(client_id=2, use_gevent=True)])
    app_context = ApplicationContext(app_config=app_config)

    return app_context
コード例 #4
0
def get_default_app_context():
    config = MongoDBConfig()
    persistence_config = PersistenceConfig(
        None, DataStore.Mongo, PersistenceMode.RealTime, DataStore.Mongo,
        PersistenceMode.RealTime, DataStore.Mongo, PersistenceMode.RealTime,
        DataStore.Mongo, PersistenceMode.RealTime)

    app_config = ApplicationConfig("InstrumentImport", RefDataManager.DB,
                                   Clock.Simulation, persistence_config,
                                   config)

    return ApplicationContext(app_config=app_config)
コード例 #5
0
def test_bar():
    config = MongoDBConfig()
    store = MongoDBDataStore(config)

    store.start()
    for x in range(0, 10):
        data = sorted([random.randint(0, 100) for i in range(0, 4)])
        bar = Bar(inst_id=3,
                  open=data[1],
                  high=data[3],
                  low=data[0],
                  close=data[2],
                  vol=random.randint(100, 1000))

        store.save(bar)
        print bar
        time.sleep(1)
コード例 #6
0
def main():
    persistence_config = PersistenceConfig(
        None, DataStore.Mongo, PersistenceMode.RealTime, DataStore.Mongo,
        PersistenceMode.RealTime, DataStore.Mongo, PersistenceMode.RealTime,
        DataStore.Mongo, PersistenceMode.RealTime)
    app_config = RealtimeMarketDataImporterConfig(
        None,
        feed_id=Broker.IB,
        instrument_ids=[3],
        subscription_types=[
            BarSubscriptionType(bar_type=BarType.Time, bar_size=BarSize.D1)
        ],
        ref_data_mgr_type=RefDataManager.InMemory,
        clock_type=Clock.RealTime,
        persistence_config=persistence_config,
        provider_configs=[MongoDBConfig(),
                          IBConfig(client_id=2)])
    app_context = ApplicationContext(app_config=app_config)

    MktDataImporter().start(app_context)
コード例 #7
0
ファイル: ib_tester.py プロジェクト: vjaeng/python-trading
    broker.on_ord_cancel_req(order)
    time.sleep(5)


if __name__ == "__main__":

    logger.setLevel(logging.DEBUG)

    persistence_config = PersistenceConfig(
        None, DataStore.InMemoryDB, PersistenceMode.RealTime,
        DataStore.InMemoryDB, PersistenceMode.RealTime, DataStore.InMemoryDB,
        PersistenceMode.RealTime, DataStore.InMemoryDB,
        PersistenceMode.RealTime)
    app_config = RealtimeMarketDataImporterConfig(
        None, RefDataManager.InMemory, Clock.RealTime, Broker.IB, [3],
        [BarSubscriptionType(bar_type=BarType.Time, bar_size=BarSize.D1)],
        persistence_config, MongoDBConfig(),
        IBConfig(client_id=2, use_gevent=True))
    app_context = ApplicationContext(app_config=app_config)

    app_context.start()
    broker = app_context.provider_mgr.get(Broker.IB)
    broker.start(app_context)

    # test_sub_hist_bar(broker)
    test_sub_realtime_bar(broker)

    time.sleep(1000)

    # test_sub_realtime_trade(broker)
    # test_sub_realtime_quote(broker)
コード例 #8
0
# name = "test_%s" % int(time.time() * 1000)
name = "test"
create_at_start = True
cass_delete_at_stop = False
mongo_delete_at_stop = True
im_memory_delete_at_stop = True

app_config = ApplicationConfig(
    None,
    None,
    Clock.RealTime,
    persistence_config,
    provider_configs=[
        MongoDBConfig(dbname=name,
                      create_at_start=create_at_start,
                      delete_at_stop=mongo_delete_at_stop),
        CassandraConfig(contact_points=['127.0.0.1'],
                        keyspace=name,
                        create_at_start=create_at_start,
                        delete_at_stop=cass_delete_at_stop),
        InMemoryStoreConfig(file="%s_db.p" % name,
                            create_at_start=create_at_start,
                            delete_at_stop=im_memory_delete_at_stop)
    ])
context = ApplicationContext(app_config=app_config)
clock = context.clock
mongo = context.provider_mgr.get(DataStore.Mongo)
cassandra = context.provider_mgr.get(DataStore.Cassandra)
inmemory = context.provider_mgr.get(DataStore.InMemory)
コード例 #9
0
ファイル: ib_tester.py プロジェクト: alexanu/python-trading
    broker.on_ord_cancel_req(order)
    time.sleep(5)


if __name__ == "__main__":

    logger.setLevel(logging.DEBUG)

    persistence_config = PersistenceConfig(None,
                                           DataStore.InMemory, PersistenceMode.RealTime,
                                           DataStore.InMemory, PersistenceMode.RealTime,
                                           DataStore.InMemory, PersistenceMode.RealTime,
                                           DataStore.InMemory, PersistenceMode.RealTime)
    app_config = RealtimeMarketDataImporterConfig(None, RefDataManager.InMemory, Clock.RealTime,
                                              Broker.IB, [3],
                                              [BarSubscriptionType(bar_type=BarType.Time, bar_size=BarSize.D1)],
                                              persistence_config,
                                              MongoDBConfig(), IBConfig(client_id=2, use_gevent=True))
    app_context = ApplicationContext(app_config=app_config)

    app_context.start()
    broker = app_context.provider_mgr.get(Broker.IB)
    broker.start(app_context)

    # test_sub_hist_bar(broker)
    test_sub_realtime_bar(broker)

    time.sleep(1000)

    # test_sub_realtime_trade(broker)
    # test_sub_realtime_quote(broker)