Beispiel #1
0
def cron_b3_memory():
    """
    Funcao que prioriza o uso limitado da memoria.
    """
    # Limpa a Base
    Quotes.objects.filter(market='BOVESPA').delete()
    download_hquotes(ibrx_tickers)

    # Limpa a Base
    PairStats.objects.filter(market='BOVESPA').delete()

    bulk_list = []
    for idx, pair in enumerate(gera_pares(ibrx_tickers)):
        obj = b3_producer(idx, pair)
        bulk_list.append(obj)

        if len(bulk_list) > 1000:
            # Grava dados no Banco
            PairStats.objects.bulk_create(bulk_list)
            # Libera a memória
            del bulk_list
            bulk_list = []

    # Grava dados no Banco
    PairStats.objects.bulk_create(bulk_list)

    # Telegram
    send_msg()
Beispiel #2
0
def matriz_pares():
    def pega_datas():
        """ TODO: Melhorar """
        df = Quotes.objects.get(ticker='BTCUSDT').get_series().index
        df2 = df[df > date(2019, 8, 17)]
        df3 = df2[df2 < date(2020, 8, 17)]
        #df2 = df[df > date(2020, 1, 1)] # DEBUG
        return df3

    return pd.DataFrame(10000, pega_datas(), gera_pares(BINANCE_FUTURES))
Beispiel #3
0
def cron_binance():

    # Limpa a Base
    Quotes.objects.filter(market='BINANCE').delete()
    download_hquotes_binance()

    # Limpa a Base
    PairStats.objects.filter(market='BINANCE').delete()
    bulk_list = []
    for idx, pair in enumerate(gera_pares(BINANCE_FUTURES)):
        obj = binance_producer(idx, pair)
        bulk_list.append(obj)

    # Grava dados no Banco
    PairStats.objects.bulk_create(bulk_list)
Beispiel #4
0
def dados_binance():
    # Limpa a Base
    PairStats.objects.filter(market='BINANCE').delete()
    pares_list = gera_pares(BINANCE_FUTURES)

    for refdate, plist in matriz_pares().iterrows():
        bulk_list = []
        for pair in plist.index:
            #print(refdate, pair)
            obj = calcula_modelo(refdate, pair)
            bulk_list.append(obj)

        # Grava dados no Banco
        print('bulk', refdate)
        PairStats.objects.bulk_create(bulk_list)
Beispiel #5
0
def cron_b3():

    # Limpa a Base
    Quotes.objects.filter(market='BOVESPA').delete()
    download_hquotes(ibrx_tickers)

    # Limpa a Base
    PairStats.objects.filter(market='BOVESPA').delete()
    with Pool(2) as p:
        bulk_list = p.starmap(b3_producer, enumerate(gera_pares(ibrx_tickers)))

    # Grava dados no Banco
    PairStats.objects.bulk_create(bulk_list)

    # Telegram
    send_msg()
Beispiel #6
0
def cron_b3():
    """
    Funcao bastante rapida, porem usa muita memoria do Heroku (640Mb / 512Mb)
    """
    # Limpa a Base
    Quotes.objects.filter(market='BOVESPA').delete()
    download_hquotes(ibrx_tickers)

    # Limpa a Base
    PairStats.objects.filter(market='BOVESPA').delete()
    with Pool(2) as p:
        bulk_list = p.starmap(b3_producer, enumerate(gera_pares(ibrx_tickers)))

    # Grava dados no Banco
    PairStats.objects.bulk_create(bulk_list)

    # Telegram
    send_msg()