Exemplo n.º 1
0
def run_csv_gen(sec_dict, invs_res, output_dir, verbose=False):
    ctr = 0
    assert output_dir != None

    output_dir = invs_utils.rp(output_dir)
    if not os.path.isdir(output_dir):
        print("{} doesn't exist. Creating it now !!".format(output_dir))
        os.makedirs(output_dir)
    # endif
    print('Output dir = {}'.format(output_dir))

    # Iterate over all security dict
    for sec_code in sec_dict.keys():
        # Fetch data
        d_this   = invs_core.fetch_data(sec_dict[sec_code]['ticker'], invs_res, verbose=verbose)
        sec_name = sec_dict[sec_code]['name']

        # If dataframe is empty, continue
        if d_this.empty:
            continue
        # endif

        # Set time axis as index
        d_this = d_this.set_index('t')

        # save to CSV file
        csv_file_this = output_dir + '/{}_{}.csv'.format(sec_name.replace(' ', '_'), invs_res)
        print('{}. CSV Report for {}'.format(ctr, coloritf(sec_name, 'magenta')))
        d_this.to_csv(csv_file_this)

        ctr = ctr + 1
    # endfor

    # Write to csv file
    print(coloritf('--------------------- REPORT END --------------------------------', 'green'))
Exemplo n.º 2
0
def run_csv_gen(sec_dict,
                kis_res,
                pub_tok,
                output_dir,
                sleep_secs=5,
                interval_limit=400,
                verbose=False):
    ctr = 0
    assert output_dir != None

    output_dir = invs_utils.rp(output_dir)
    if not os.path.isdir(output_dir):
        print("{} doesn't exist. Creating it now !!".format(output_dir))
        os.makedirs(output_dir)
    # endif
    print('Output dir = {}'.format(output_dir))

    # Iterate over all security dict
    for sec_code in sec_dict.keys():
        # Fetch data
        d_this = invs_core.fetch_data_kite(sec_dict[sec_code]['ticker'],
                                           kis_res,
                                           pub_tok,
                                           interval_limit=interval_limit,
                                           verbose=verbose)
        sec_name = sec_dict[sec_code]['name']

        # If dataframe is empty, continue
        if d_this.empty:
            continue
        # endif

        # save to CSV file
        csv_file_this = output_dir + '/{}_{}.csv'.format(
            sec_name.replace(' ', '_'), kis_res)
        print('{}. CSV Report for {}'.format(ctr,
                                             coloritf(sec_name, 'magenta')))
        d_this.to_csv(csv_file_this)

        # Sleep for some time so as not to overload server
        if sleep_secs:
            print('Sleeping for {} seconds'.format(sleep_secs))
            time.sleep(sleep_secs)
        # endif

        ctr = ctr + 1
    # endfor

    # Write to csv file
    print(
        coloritf(
            '--------------------- REPORT END --------------------------------',
            'green'))
def run_csv_gen(sym_list,
                instr_file,
                kis_res,
                pub_tok,
                output_dir,
                ilimit=200,
                verbose=False):
    assert output_dir != None

    output_dir = invs_utils.rp(output_dir)
    if not os.path.isdir(output_dir):
        print("{} doesn't exist. Creating it now !!".format(output_dir))
        os.makedirs(output_dir)
    # endif
    print('Output dir = {}'.format(output_dir))

    # Read instrument file into dataframe
    dframe_instrs = pd.read_csv(instr_file)

    for ctr, sym_this in enumerate(sym_list):
        ticker_this = search_sym_in_kite_instruments(dframe_instrs, sym_this)
        if ticker_this is None:
            continue
        # endif

        # Fetch data
        d_this = invs_core.fetch_data_kite(ticker_this,
                                           kis_res,
                                           pub_tok,
                                           interval_limit=ilimit,
                                           verbose=verbose)

        # If dataframe is empty, continue
        if d_this.empty:
            print('Couldnot download data for {}'.format(sym_this))
            return
        # endif

        # save to CSV file
        csv_file_this = output_dir + '/{}_{}.csv'.format(sym_this, kis_res)
        print('{}. Downloading CSV Report for {}'.format(
            ctr, coloritf(sym_this, 'magenta')))
        d_this.to_csv(csv_file_this)
Exemplo n.º 4
0
        type=str,
        default='')
    parser.add_argument('--ofile',
                        help='Output file name.',
                        type=str,
                        default='~/fo.workspace')
    args = parser.parse_args()

    if args.__dict__['sfile'] == None:
        print('--sfile required !!')
        sys.exit(-1)
    # endif

    suff_list = args.__dict__['suffix'].split(
        ',') if args.__dict__['suffix'] else ['']
    out_file = invs_utils.rp(args.__dict__['ofile'])
    sec_file = invs_utils.rp(args.__dict__['sfile'])

    ofile_hdr = 'Symbols'
    ofile_ftr = 'ColumnList\n1,0,94;1,3,69;1,4,64;1,5,58;1,6,64;1,7,63;0,8,100;1,9,64;1,10,61;1,11,64;1,12,65;1,1,67;1,13,63;1,14,68;0,15,100;0,16,100;0,17,100;0,18,100;1,19,67;1,20,67;0,21,100;0,22,100;0,23,100;0,24,100;0,25,100;0,26,100;0,27,100;0,28,100;0,29,100;0,30,100;0,31,100;0,32,100;1,33,100;1,34,83;1,2,100;\nCharts'

    sec_list = invs_parsers.populate_sec_list(sec_file)

    code_list = []
    for sec_t in sec_list:
        for suffx_t in suff_list:
            code_list.append(sec_t['code'] + suffx_t)
        # endfor
    # endfor

    # Write to workspace file