def _main(): """ Predicts which loans will perform the best and then places orders on those if there is enough cash and if the loan has not already been ordered. """ count = 0 df = generate_completed_df() # import pdb; pdb.set_trace() if three_years_only: df = df[df.term == 36] good_ids = set(df.ix[(df.estimated_roi > roi_floor) & (df.default_prob < default_floor)].index) already_ordered = set() for row in c.execute('SELECT * FROM orders'): already_ordered.add(row[1]) good_ids = good_ids - already_ordered logging.debug("Placing orders for {} loans \n{} already ordered".format( len(set((good_ids)) - set(already_ordered)), len(already_ordered)) ) # TODO Consider making a new_orders thing with the set. order_ids = [] pending_amount = 0 for id in good_ids: funds_available = has_enough_cash( pending_amount) # Called once to avoid dirty logs if id not in already_ordered and funds_available: count += 1 pending_amount += amount order_ids.append(id) elif not funds_available: logging.debug("No Cash left") break elif id in already_ordered: logging.info("{} Was previously ordered".format(id)) place_order(order_ids) logging.debug("Finished Ordering ordered {} notes \n".format(count))
def _main(): """ Predicts which loans will perform the best and then places orders on those if there is enough cash and if the loan has not already been ordered. """ count = 0 df = generate_completed_df() # import pdb; pdb.set_trace() if three_years_only: df = df[df.term == 36] good_ids = set(df.ix[(df.estimated_roi > roi_floor) & (df.default_prob < default_floor)].index) already_ordered = set() for row in c.execute('SELECT * FROM orders'): already_ordered.add(row[1]) good_ids = good_ids - already_ordered logging.debug("Placing orders for {} loans \n{} already ordered" .format(len(set((good_ids)) - set(already_ordered)), len(already_ordered))) # TODO Consider making a new_orders thing with the set. order_ids = [] pending_amount = 0 for id in good_ids: funds_available = has_enough_cash(pending_amount) # Called once to avoid dirty logs if id not in already_ordered and funds_available: count += 1 pending_amount += amount order_ids.append(id) elif not funds_available: logging.debug("No Cash left") break elif id in already_ordered: logging.info("{} Was previously ordered".format(id)) place_order(order_ids) logging.debug("Finished Ordering ordered {} notes \n".format(count))
def _main(): """ Predicts which loans will perform the best and then places orders on those if there is enough cash and if the loan has not already been ordered. """ df = generate_completed_df() good_ids = df.id[(df.estimated_roi > roi_floor) & (df.default_prob < default_floor)] already_ordered = [] for row in c.execute('SELECT * FROM orders'): already_ordered.append(row[1]) logging.debug("Placing orders for {} loans \n{} already ordered" .format(len(set((good_ids)) - set(already_ordered)), len(already_ordered))) for id in good_ids: funds_available = has_enough_cash() # Called once to avoid dirty logs if id not in already_ordered and funds_available: place_order(id) elif not funds_available: logging.debug("No Cash left") break logging.debug("Finished Ordering")
<h1>{{name}}</h1> {{data | safe}} {% endblock %} """ import os import pandas as pd from flask import Flask, render_template, request # sys.path.append('..') from process_api import generate_completed_df app = Flask(__name__) df = generate_completed_df() df_html = df.to_html().replace('class="dataframe"', 'class="table table-striped table-bordered table-condensed') loans_available = 0 estimated_roi = 0 last_checked = 0 last_submitted = 0 # @app.route('/') # def dashboard(): # return render_template('dashboard.html', roi_floor=roi_floor, # loans_available=loans_available, # estimated_roi=estimated_roi,
def test_dtypes_and_shape(): df = generate_completed_df() return df
""" import py.test import pandas as pd import engarde.decorators as ed import numpy as np import sys from hypothesis import given, assume, example, strategies as st sys.path.append('../app') from process_api import generate_completed_df TEST_API = True BAD_DATA = True if TEST_API: test_df = generate_completed_df() elif BAD_DATA: test_df = pd.read_csv('bad_data.csv') else: test_df = pd.read_csv('good_data.csv') dtypes = dict(estimated_roi=float, default_prob=float, loan_amnt=float, int_rate=float, grade='category', installment=float, emp_length=float, home_ownership='category', purpose='category', revol_bal=float,