Ejemplo n.º 1
0
def get_database_manager():
    # print("SRTTING")
    # print(SETTINGS)
    settings = get_settings("database.")
    # print(settings)
    database_manager: "BaseDatabaseManager" = init(settings=settings)
    # print(database_manager.class_bar.__dict__)
    return database_manager
Ejemplo n.º 2
0
def init():
    settings = get_settings("database.")
    database = settings["database"]
    path = str(get_file_path(database))
    db = SqliteDatabase(path)
    DbCtaTrade, DbCtaSignal, DbCtaPosition, DbCtaParams = init_models(db)

    return RecorderDbManager(DbCtaTrade, DbCtaSignal, DbCtaPosition,
                             DbCtaParams)
Ejemplo n.º 3
0
 def init_notifier(self):
     from vnpy.trader.setting import get_settings
     push_settings = get_settings('notification.')
     if push_settings:
         krPush = jpush.JPush(push_settings['app_key'],
                              push_settings['master_secret'])
         self.notifier = krPush.create_push()
         self.notifier.audience = jpush.all_
         self.notifier.platform = jpush.all_
Ejemplo n.º 4
0
def main():
    from vnpy.trader.setting import get_settings

    settings = get_settings("database.")
    driver = Driver(settings["driver"])
    if driver is not Driver.MONGODB:
        db = init(driver, settings=settings)
        upgrade(driver, db)
    else:
        raise NotImplementedError()
Ejemplo n.º 5
0
def init():
    from vnpy.trader.setting import get_settings
    db_settting = get_settings('database.')
    register_connection(
        'VNPY_BACKTEST',
        db='VNPY_BACKTEST',
        host=db_settting['host'],
        port=db_settting['port'],
        username=db_settting['user'],
        password=db_settting['password'],
        authentication_source=db_settting['authentication_source'],
    )
Ejemplo n.º 6
0
    def __init__(self, symbol: str,
                    exchange: str,
                    maintype: MainType = MainType.SINGLE,
                    interval: int = 60,
                    startdate: datetime = FUTURE_START,
                    enddate: datetime = datetime.now(),
                    dateauto: bool = False):
        settings = get_settings("database.")
        keys = {"database", "user", "password", "host", "port"}
        settings = {k: v for k, v in settings.items() if k in keys}

        db = MySQLDatabase(**settings)
        task, task_detail = init_task(db, Driver.MYSQL)
        self.task_mg = TaskManager(task, task_detail)
        self.task_mg.create_task(symbol, exchange, maintype, interval, startdate, enddate, dateauto)
Ejemplo n.º 7
0
def init():
    from vnpy.trader.setting import get_settings
    db_settting = get_settings('database.')
    register_connection(
        'VNPY_BACKTEST',
        db='VNPY_BACKTEST',
        host=db_settting['host'],
        port=db_settting['port'],
        username=db_settting['user'],
        password=db_settting['password'],
        authentication_source=db_settting['authentication_source'],
    )

    filehandler = logging.FileHandler('run_strategies.log')
    filehandler.setLevel(logging.INFO)
    formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
    filehandler.setFormatter(formatter)
    logger.addHandler(filehandler)
Ejemplo n.º 8
0
    def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
        """"""
        super().__init__()

        self.main_engine = main_engine
        self.event_engine = event_engine

        self.backtester_engine = main_engine.get_engine(APP_NAME)
        self.class_names = []
        self.settings = {}
        self.db_instance = DBOperation(get_settings("database."))
        self.dbbardata_groupby_df = pd.DataFrame()
        self.pytdx_contracts_dict = read_contracts_json_dict()
        self.pyccxt_exchange = Exchange()

        self.target_display = ""

        self.init_ui()
        self.register_event()
        self.backtester_engine.init_engine()
        self.init_strategy_settings()
            f"{self.settings_dict['driver']}://{sqlite_os}{self.file_path_str}"
        )

    def get_groupby_data_from_sql_db(self):
        sql = "select exchange, symbol, interval, count(1) from dbbardata group by symbol, interval, exchange;"
        return pd.read_sql(sql, con=self.engine)

    def get_end_date_from_db(self, symbol, exchange, interval):
        sql = f'''select * from dbbardata 
        where symbol='{symbol}' and exchange='{exchange}' and interval='{interval}' 
        order by datetime desc limit 1;
        '''
        df = pd.read_sql(sql, con=self.engine)
        return df['datetime'].values[0]

    def get_start_date_from_db(self, symbol, exchange, interval):
        sql = f'''select * from dbbardata 
        where symbol='{symbol}' and exchange='{exchange}' and interval='{interval}' 
        order by datetime asc limit 1;
        '''
        df = pd.read_sql(sql, con=self.engine)
        # str '2013-08-19 15:00:00'
        return df['datetime'].values[0]


if __name__ == "__main__":
    settings = get_settings("database.")
    dbo = DBOperation(settings)
    dbo.get_start_date_from_db()
    print(1)
Ejemplo n.º 10
0

def getStrategyArray():
    backtester.init_engine()
    return backtester.get_strategy_class_names()


# def onStrategyActivated(current_strategy: str):
#     strategy_setting_dict = getStrategySettingDict()
#     return strategy_setting_dict[current_strategy]


#############################################################
# DBOperation
#############################################################
db_instance = DBOperation(get_settings("database."))
# dbbardata_groupby_df = db_instance.get_groupby_data_from_sql_db()
# exchange_array = dbbardata_groupby_df['exchange'].drop_duplicates().to_list()
pytdx_contracts_dict = read_contracts_json_dict()
pyccxt_exchange = Exchange()


def getExchangeArray():
    dbbardata_groupby_df = db_instance.get_groupby_data_from_sql_db()
    return dbbardata_groupby_df['exchange'].drop_duplicates().to_list()


def onExchangeActivated(current_exchange):
    '''
    exchange变化触发, 返回db中相应 symbol list
    '''
Ejemplo n.º 11
0
 def __init__(self, main_engine: MainEngine, event_engine: EventEngine):
     """"""
     super().__init__(main_engine, event_engine)
     self.engine_name = APP_NAME
     self.db_instance = DBOperation(get_settings("database."))
Ejemplo n.º 12
0
 def test_get_settings_with_prefix(self):
     SETTINGS['a.a'] = 1
     got = get_settings()
     self.assertIn('a', got)
     self.assertEqual(got['a'], 1)
Ejemplo n.º 13
0
 def save_data(self, data):
     settings = get_settings("database.")
     database_manager: "BaseDatabaseManager" = init(settings=settings)
     database_manager.save_bar_data(data)