예제 #1
0
def unique_uli(new_lar_df=None, lei=None):
    """
    Generates a set of unique ULI's for a LAR dataframe.
    """

    #Copy over ULIs with the LEI
    new_lar_df["uli"] = new_lar_df["uli"].apply(lambda x: lei)

    #Generates a loan ID as a random 23-character string for each LEI
    new_lar_df["uli"] = new_lar_df["uli"].apply(
        lambda x: x + utils.char_string_gen(23))

    #Adds a check digit to each ULI
    new_lar_df['uli'] = new_lar_df["uli"].apply(
        lambda x: x + utils.check_digit_gen(ULI=x))

    #If ULIs are duplicated, the unique_uli function is applied again.
    #FIXME: remove recursion and replace with nexted loops:
    #for loop for length of new lar file size
    #while loop to create new ULIs and check against an established list for duplication
    if len(new_lar_df['uli']) > len(set(new_lar_df['uli'])):
        print("Re-Running")
        self.unique_uli(new_lar_df)
    else:
        print("Unique ULIs Assigned")

    return new_lar_df
예제 #2
0
def unique_uli(new_lar_df=None, lei=None):
    """
    Generates a set of unique ULI's for a LAR dataframe.
    """

    #Copying over ULIs with the LEI.
    new_lar_df["uli"] = new_lar_df["uli"].apply(lambda x: lei)

    #Generates a loan ID as a random 23-character
    #string for each LEI.
    new_lar_df["uli"] = new_lar_df["uli"].apply(
        lambda x: x + utils.char_string_gen(23))

    #Adds a check digit to each.
    new_lar_df['uli'] = new_lar_df["uli"].apply(
        lambda x: x + utils.check_digit_gen(ULI=x))

    #If ULIs are duplicated, the unique_uli function
    #is applied again.
    if len(new_lar_df['uli']) > len(set(new_lar_df['uli'])):
        print("Re-Running")
        self.unique_uli(new_lar_df)
    else:
        print("Unique ULIs Assigned")

    return new_lar_df
예제 #3
0
    def make_row(self, lar_file_config, geographic_data, state_codes,
                 zip_code_list):
        """Make num_rows LAR rows and return them as a list of ordered dicts"""
        valid_lar_row = OrderedDict()
        valid_lar_row["record_id"] = str(self.lar_schema_df.valid_vals[
            self.lar_schema_df.field == "record_id"].iloc[0][0])
        valid_lar_row["lei"] = lar_file_config["lei"]["value"]
        valid_lar_row["uli"] = valid_lar_row['lei'] + utils.char_string_gen(23)
        valid_lar_row["uli"] = valid_lar_row["uli"] + utils.check_digit_gen(
            ULI=valid_lar_row["uli"])
        valid_lar_row["uli"] = random.choice(
            [valid_lar_row["uli"],
             utils.char_string_gen(22)])
        valid_lar_row["app_date"] = str(
            self.date_gen(
                activity_year=lar_file_config["activity_year"]["value"]))
        valid_lar_row["loan_type"] = str(
            random.choice(self.get_schema_list(field="loan_type")))
        valid_lar_row["loan_purpose"] = str(
            random.choice(self.get_schema_list(field="loan_purpose")))
        valid_lar_row["preapproval"] = str(
            random.choice(self.get_schema_list(field="preapproval")))
        valid_lar_row["const_method"] = str(
            random.choice(self.get_schema_list(field="const_method")))
        valid_lar_row["occ_type"] = str(
            random.choice(self.get_schema_list(field="occ_type")))
        valid_lar_row["loan_amount"] = str(
            random.choice(range(1, lar_file_config["max_amount"]["value"])))
        valid_lar_row["action_taken"] = str(
            random.choice(self.get_schema_list(field='action_taken')))
        valid_lar_row["action_date"] = str(
            self.date_gen(
                activity_year=lar_file_config["activity_year"]["value"]))
        valid_lar_row["street_address"] = random.choice([
            lar_file_config["street_addy"]["value"],
            lar_file_config["street_addy"]["value"], "Exempt"
        ])
        valid_lar_row["city"] = lar_file_config["city"]["value"]
        valid_lar_row["state"] = ""  #placeholder to preserve LAR order
        valid_lar_row["zip_code"] = random.choice(zip_code_list)
        valid_lar_row["county"] = ""  #placeholder to preserve LAR order
        valid_lar_row["tract"] = random.choice(geographic_data["tract_fips"])
        valid_lar_row["state"] = state_codes[str(valid_lar_row["tract"][:2])]
        valid_lar_row["county"] = valid_lar_row["tract"][:5]
        valid_lar_row["app_eth_1"] = str(
            random.choice(self.get_schema_list(field="app_eth_1", empty=True)))
        valid_lar_row["app_eth_2"] = str(
            random.choice(self.get_schema_list(field="app_eth_2", empty=True)))
        valid_lar_row["app_eth_3"] = str(
            random.choice(self.get_schema_list(field="app_eth_3", empty=True)))
        valid_lar_row["app_eth_4"] = str(
            random.choice(self.get_schema_list(field="app_eth_4", empty=True)))
        valid_lar_row["app_eth_5"] = str(
            random.choice(self.get_schema_list(field="app_eth_5", empty=True)))
        valid_lar_row["app_eth_free"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["co_app_eth_1"] = str(
            random.choice(
                self.get_schema_list(field="co_app_eth_1", empty=True)))
        valid_lar_row["co_app_eth_2"] = str(
            random.choice(
                self.get_schema_list(field="co_app_eth_2", empty=True)))
        valid_lar_row["co_app_eth_3"] = str(
            random.choice(
                self.get_schema_list(field="co_app_eth_3", empty=True)))
        valid_lar_row["co_app_eth_4"] = str(
            random.choice(
                self.get_schema_list(field="co_app_eth_4", empty=True)))
        valid_lar_row["co_app_eth_5"] = str(
            random.choice(
                self.get_schema_list(field="co_app_eth_5", empty=True)))
        valid_lar_row["co_app_eth_free"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["app_eth_basis"] = str(
            random.choice(self.get_schema_list(field="app_eth_basis")))
        valid_lar_row["co_app_eth_basis"] = str(
            random.choice(self.get_schema_list(field="co_app_eth_basis")))
        valid_lar_row["app_race_1"] = str(
            random.choice(self.get_schema_list(field="app_race_1",
                                               empty=True)))
        valid_lar_row["app_race_2"] = str(
            random.choice(self.get_schema_list(field="app_race_2",
                                               empty=True)))
        valid_lar_row["app_race_3"] = str(
            random.choice(self.get_schema_list(field="app_race_3",
                                               empty=True)))
        valid_lar_row["app_race_4"] = str(
            random.choice(self.get_schema_list(field="app_race_4",
                                               empty=True)))
        valid_lar_row["app_race_5"] = str(
            random.choice(self.get_schema_list(field="app_race_5",
                                               empty=True)))
        valid_lar_row["app_race_native_text"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["app_race_asian_text"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["app_race_islander_text"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["co_app_race_1"] = str(
            random.choice(
                self.get_schema_list(field="co_app_race_1", empty=True)))
        valid_lar_row["co_app_race_2"] = str(
            random.choice(
                self.get_schema_list(field="co_app_race_2", empty=True)))
        valid_lar_row["co_app_race_3"] = str(
            random.choice(
                self.get_schema_list(field="co_app_race_3", empty=True)))
        valid_lar_row["co_app_race_4"] = str(
            random.choice(
                self.get_schema_list(field="co_app_race_4", empty=True)))
        valid_lar_row["co_app_race_5"] = str(
            random.choice(
                self.get_schema_list(field="co_app_race_5", empty=True)))
        valid_lar_row["co_app_race_native_text"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["co_app_race_asian_text"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["co_app_race_islander_text"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["app_race_basis"] = str(
            random.choice(self.get_schema_list(field="app_race_basis")))
        valid_lar_row["co_app_race_basis"] = str(
            random.choice(self.get_schema_list(field="co_app_race_basis")))
        valid_lar_row["app_sex"] = str(
            random.choice(self.get_schema_list(field="app_sex")))
        valid_lar_row["co_app_sex"] = str(
            random.choice(self.get_schema_list(field="co_app_sex")))
        valid_lar_row["app_sex_basis"] = str(
            random.choice(self.get_schema_list(field="app_sex_basis")))
        valid_lar_row["co_app_sex_basis"] = str(
            random.choice(self.get_schema_list(field="co_app_sex_basis")))
        valid_lar_row["app_age"] = str(
            random.choice(
                self.range_and_enum(
                    field="app_age",
                    rng_max=lar_file_config["max_age"]["value"])))
        valid_lar_row["co_app_age"] = str(
            random.choice(
                self.range_and_enum(
                    field="co_app_age",
                    rng_max=lar_file_config["max_age"]["value"])))
        valid_lar_row["income"] = str(
            random.choice(range(1, lar_file_config["max_income"]["value"])))
        valid_lar_row["purchaser_type"] = str(
            random.choice(self.get_schema_list(field="purchaser_type")))
        valid_lar_row["rate_spread"] = str(
            random.choice(
                self.range_and_enum(field="rate_spread",
                                    rng_max=lar_file_config["max_rs"]["value"],
                                    dtype="float")))
        valid_lar_row["hoepa"] = str(
            random.choice(self.get_schema_list(field="hoepa")))
        valid_lar_row["lien"] = str(
            random.choice(self.get_schema_list(field="lien")))
        valid_lar_row["app_credit_score"] = str(
            random.choice(
                self.range_and_enum(
                    field="app_credit_score",
                    rng_min=lar_file_config["min_credit_score"]["value"],
                    rng_max=lar_file_config["max_credit_score"]["value"])))
        valid_lar_row["co_app_credit_score"] = str(
            random.choice(
                self.range_and_enum(
                    field="co_app_credit_score",
                    rng_min=lar_file_config["min_credit_score"]["value"],
                    rng_max=lar_file_config["max_credit_score"]["value"])))
        valid_lar_row["app_score_name"] = str(
            random.choice(self.get_schema_list(field="app_score_name")))
        valid_lar_row["app_score_code_8"] = str(
            utils.char_string_gen(random.choice(range(100))))
        valid_lar_row["co_app_score_name"] = str(
            random.choice(self.get_schema_list(field="co_app_score_name")))
        valid_lar_row["co_app_score_code_8"] = utils.char_string_gen(
            random.choice(range(100)))
        valid_lar_row["denial_1"] = str(
            random.choice(self.get_schema_list(field="denial_1")))
        valid_lar_row["denial_2"] = str(
            random.choice(self.get_schema_list(field="denial_2", empty=True)))
        valid_lar_row["denial_3"] = str(
            random.choice(self.get_schema_list(field="denial_3", empty=True)))
        valid_lar_row["denial_4"] = str(
            random.choice(self.get_schema_list(field="denial_4", empty=True)))
        valid_lar_row["denial_code_9"] = utils.char_string_gen(
            random.choice(range(255)))
        valid_lar_row["loan_costs"] = str(
            random.choice(
                self.range_and_enum(
                    field="loan_costs",
                    rng_max=lar_file_config["loan_costs"]["value"])))
        valid_lar_row["points_fees"] = str(
            random.choice(
                self.range_and_enum(
                    field="points_fees",
                    rng_max=lar_file_config["points_and_fees"]["value"])))
        valid_lar_row["origination_fee"] = str(
            random.choice(
                self.range_and_enum(
                    field="origination_fee",
                    rng_max=lar_file_config["orig_charges"]["value"])))
        valid_lar_row["discount_points"] = str(
            random.choice(
                self.range_and_enum(
                    field="discount_points",
                    rng_max=lar_file_config["discount_points"]["value"],
                    empty=True)))
        valid_lar_row["lender_credits"] = str(
            random.choice(
                self.range_and_enum(
                    field="lender_credits",
                    rng_max=lar_file_config["lender_credits"]["value"],
                    empty=True)))
        valid_lar_row["interest_rate"] = str(
            random.choice(
                self.range_and_enum(
                    field="interest_rate",
                    rng_max=lar_file_config["interest_rate"]["value"],
                    dtype="float")))
        valid_lar_row["prepayment_penalty"] = str(
            random.choice(
                self.range_and_enum(
                    field="prepayment_penalty",
                    rng_max=lar_file_config["penalty_max"]["value"])))
        valid_lar_row["dti"] = str(
            random.choice(
                self.range_and_enum(field="dti",
                                    rng_max=lar_file_config["dti"]["value"])))
        valid_lar_row["cltv"] = str(
            random.choice(
                self.range_and_enum(field="cltv",
                                    rng_max=lar_file_config["cltv"]["value"])))
        valid_lar_row["loan_term"] = str(
            random.choice(
                self.range_and_enum(
                    field="loan_term",
                    rng_max=lar_file_config["loan_term"]["value"])))
        valid_lar_row["intro_rate"] = str(
            random.choice(
                self.range_and_enum(
                    field="intro_rate",
                    rng_max=lar_file_config["intro_rate"]["value"])))
        valid_lar_row["balloon"] = str(
            random.choice(self.get_schema_list(field="balloon")))
        valid_lar_row["int_only_pmts"] = str(
            random.choice(self.get_schema_list(field="int_only_pmts")))
        valid_lar_row["neg_amort"] = str(
            random.choice(self.get_schema_list(field="neg_amort")))
        valid_lar_row["non_amort_features"] = str(
            random.choice(self.get_schema_list(field="non_amort_features")))
        valid_lar_row["property_value"] = str(
            random.choice(
                self.range_and_enum(
                    field="property_value",
                    rng_min=lar_file_config["prop_val_min"]["value"],
                    rng_max=lar_file_config["prop_val_max"]["value"])))
        valid_lar_row["manufactured_type"] = str(
            random.choice(self.get_schema_list(field="manufactured_type")))
        valid_lar_row["manufactured_interest"] = str(
            random.choice(self.get_schema_list(field="manufactured_interest")))
        valid_lar_row["total_units"] = str(
            random.choice(
                self.range_and_enum(
                    field="total_units",
                    rng_min=1,
                    rng_max=lar_file_config["max_units"]["value"])))
        valid_lar_row["affordable_units"] = str(
            random.choice(
                self.range_and_enum(field="affordable_units",
                                    rng_min=0,
                                    rng_max=int(
                                        valid_lar_row["total_units"]))))
        valid_lar_row["app_submission"] = str(
            random.choice(self.get_schema_list(field="app_submission")))
        valid_lar_row["initially_payable"] = str(
            random.choice(self.get_schema_list(field="initially_payable")))
        valid_lar_row["mlo_id"] = utils.char_string_gen(
            random.choice(range(25)))
        valid_lar_row["aus_1"] = str(
            random.choice(self.get_schema_list(field="aus_1")))
        valid_lar_row["aus_2"] = str(
            random.choice(self.get_schema_list(field="aus_2", empty=True)))
        valid_lar_row["aus_3"] = str(
            random.choice(self.get_schema_list(field="aus_3", empty=True)))
        valid_lar_row["aus_4"] = str(
            random.choice(self.get_schema_list(field="aus_4", empty=True)))
        valid_lar_row["aus_5"] = str(
            random.choice(self.get_schema_list(field="aus_5", empty=True)))
        valid_lar_row["aus_code_5"] = utils.char_string_gen(
            random.choice(range(255)))
        valid_lar_row["aus_result_1"] = str(
            random.choice(self.get_schema_list(field="aus_result_1")))
        valid_lar_row["aus_result_2"] = str(
            random.choice(
                self.get_schema_list(field="aus_result_2", empty=True)))
        valid_lar_row["aus_result_3"] = str(
            random.choice(
                self.get_schema_list(field="aus_result_3", empty=True)))
        valid_lar_row["aus_result_4"] = str(
            random.choice(
                self.get_schema_list(field="aus_result_4", empty=True)))
        valid_lar_row["aus_result_5"] = str(
            random.choice(
                self.get_schema_list(field="aus_result_5", empty=True)))
        valid_lar_row["aus_code_16"] = utils.char_string_gen(
            random.choice(range(255)))
        valid_lar_row["reverse_mortgage"] = str(
            random.choice(self.get_schema_list(field="reverse_mortgage")))
        valid_lar_row["open_end_credit"] = str(
            random.choice(self.get_schema_list(field="open_end_credit")))
        valid_lar_row["business_purpose"] = str(
            random.choice(self.get_schema_list(field="business_purpose")))

        return valid_lar_row
예제 #4
0
	def make_row(self, lei=None):
		"""Make num_rows LAR rows and return them as a list of ordered dicts"""
		valid_lar_row = OrderedDict() 
		valid_lar_row["record_id"] = str(self.LAR_df.valid_vals[self.LAR_df.field=="record_id"].iloc[0][0])	
		valid_lar_row["lei"] = lei
		valid_lar_row["uli"] = valid_lar_row['lei'] + utils.char_string_gen(23)
		valid_lar_row["uli"] = valid_lar_row["uli"] + utils.check_digit_gen(ULI=valid_lar_row["uli"])
		valid_lar_row["uli"] = random.choice([valid_lar_row["uli"], utils.char_string_gen(22)])
		valid_lar_row["app_date"] = str(self.date_gen())
		valid_lar_row["loan_type"] = str(self.random_enum(self.get_schema_list(field="loan_type")))
		valid_lar_row["loan_purpose"] = str(self.random_enum(self.get_schema_list(field="loan_purpose")))
		valid_lar_row["preapproval"] = str(self.random_enum(self.get_schema_list(field="preapproval")))
		valid_lar_row["const_method"] = str(self.random_enum(self.get_schema_list(field="const_method")))
		valid_lar_row["occ_type"] = str(self.random_enum(self.get_schema_list(field="occ_type")))
		valid_lar_row["loan_amount"] = str(self.random_enum(range(1,self.max_amount)))
		valid_lar_row["action_taken"] = str(self.random_enum(self.get_schema_list(field='action_taken')))
		valid_lar_row["action_date"] = str(self.date_gen())
		valid_lar_row["street_address"] = random.choice([self.street_addy, self.street_addy, "Exempt"])
		valid_lar_row["city"] = self.city
		valid_lar_row["state"] = random.choice(list(utils.state_codes.keys()))
		valid_lar_row["zip_code"] = random.choice(self.zip_codes)
		valid_lar_row["county"] = self.random_enum(self.county_list)
		valid_lar_row["tract"] = self.tract_from_county(valid_lar_row["county"])
		valid_lar_row["app_eth_1"] = str(self.random_enum(self.get_schema_list(field="app_eth_1", empty=True)))
		valid_lar_row["app_eth_2"] = str(self.random_enum(self.get_schema_list(field="app_eth_2", empty=True)))
		valid_lar_row["app_eth_3"] = str(self.random_enum(self.get_schema_list(field="app_eth_3", empty=True)))
		valid_lar_row["app_eth_4"] = str(self.random_enum(self.get_schema_list(field="app_eth_4", empty=True)))
		valid_lar_row["app_eth_5"] = str(self.random_enum(self.get_schema_list(field="app_eth_5", empty=True)))
		valid_lar_row["app_eth_free"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["co_app_eth_1"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_1", empty=True)))
		valid_lar_row["co_app_eth_2"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_2", empty=True)))
		valid_lar_row["co_app_eth_3"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_3", empty=True)))
		valid_lar_row["co_app_eth_4"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_4", empty=True)))
		valid_lar_row["co_app_eth_5"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_5", empty=True)))
		valid_lar_row["co_app_eth_free"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["app_eth_basis"] = str(self.random_enum(self.get_schema_list(field="app_eth_basis")))
		valid_lar_row["co_app_eth_basis"] = str(self.random_enum(self.get_schema_list(field="co_app_eth_basis")))
		valid_lar_row["app_race_1"] = str(self.random_enum(self.get_schema_list(field="app_race_1", empty=True)))
		valid_lar_row["app_race_2"] = str(self.random_enum(self.get_schema_list(field="app_race_2", empty=True)))
		valid_lar_row["app_race_3"] = str(self.random_enum(self.get_schema_list(field="app_race_3", empty=True)))
		valid_lar_row["app_race_4"] = str(self.random_enum(self.get_schema_list(field="app_race_4", empty=True)))
		valid_lar_row["app_race_5"] = str(self.random_enum(self.get_schema_list(field="app_race_5", empty=True)))
		valid_lar_row["app_race_native_text"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["app_race_asian_text"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["app_race_islander_text"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["co_app_race_1"] = str(self.random_enum(self.get_schema_list(field="co_app_race_1", empty=True)))
		valid_lar_row["co_app_race_2"] = str(self.random_enum(self.get_schema_list(field="co_app_race_2", empty=True)))
		valid_lar_row["co_app_race_3"] = str(self.random_enum(self.get_schema_list(field="co_app_race_3", empty=True)))
		valid_lar_row["co_app_race_4"] = str(self.random_enum(self.get_schema_list(field="co_app_race_4", empty=True)))
		valid_lar_row["co_app_race_5"] = str(self.random_enum(self.get_schema_list(field="co_app_race_5", empty=True)))
		valid_lar_row["co_app_race_native_text"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["co_app_race_asian_text"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["co_app_race_islander_text"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["app_race_basis"] = str(self.random_enum(self.get_schema_list(field="app_race_basis")))
		valid_lar_row["co_app_race_basis"] = str(self.random_enum(self.get_schema_list(field="co_app_race_basis")))
		valid_lar_row["app_sex"] = str(self.random_enum(self.get_schema_list(field="app_sex")))
		valid_lar_row["co_app_sex"] = str(self.random_enum(self.get_schema_list(field="co_app_sex")))
		valid_lar_row["app_sex_basis"] = str(self.random_enum(self.get_schema_list(field="app_sex_basis")))
		valid_lar_row["co_app_sex_basis"] = str(self.random_enum(self.get_schema_list(field="co_app_sex_basis")))
		valid_lar_row["app_age"] = str(self.random_enum(self.range_and_enum(field="app_age", rng_max=self.max_age)))
		valid_lar_row["co_app_age"] = str(self.random_enum(self.range_and_enum(field="co_app_age", rng_max=self.max_age)))
		valid_lar_row["income"] = str(self.random_enum(range(1, self.max_income)))
		valid_lar_row["purchaser_type"] = str(self.random_enum(self.get_schema_list(field="purchaser_type")))
		valid_lar_row["rate_spread"]= str(self.random_enum(self.range_and_enum(field="rate_spread", rng_max=self.max_rs, dtype="float")))
		valid_lar_row["hoepa"] = str(self.random_enum(self.get_schema_list(field="hoepa")))
		valid_lar_row["lien"] = str(self.random_enum(self.get_schema_list(field="lien")))
		valid_lar_row["app_credit_score"] = str(self.random_enum(self.range_and_enum(field="app_credit_score", rng_min=self.min_credit_score,rng_max=self.max_credit_score)))
		valid_lar_row["co_app_credit_score"] = str(self.random_enum(self.range_and_enum(field="co_app_credit_score", rng_min=self.min_credit_score, rng_max=self.max_credit_score)))
		valid_lar_row["app_score_name"] = str(self.random_enum(self.get_schema_list(field="app_score_name")))
		valid_lar_row["app_score_code_8"] = str(utils.char_string_gen(random.choice(range(100))))
		valid_lar_row["co_app_score_name"] = str(self.random_enum(self.get_schema_list(field="co_app_score_name")))
		valid_lar_row["co_app_score_code_8"] = utils.char_string_gen(random.choice(range(100)))
		valid_lar_row["denial_1"] = str(self.random_enum(self.get_schema_list(field="denial_1")))
		valid_lar_row["denial_2"] = str(self.random_enum(self.get_schema_list(field="denial_2", empty=True)))
		valid_lar_row["denial_3"] = str(self.random_enum(self.get_schema_list(field="denial_3", empty=True)))
		valid_lar_row["denial_4"] = str(self.random_enum(self.get_schema_list(field="denial_4", empty=True)))
		valid_lar_row["denial_code_9"] = utils.char_string_gen(random.choice(range(255)))
		valid_lar_row["loan_costs"] = str(self.random_enum(self.range_and_enum(field="loan_costs",rng_max=self.loan_costs)))
		valid_lar_row["points_fees"] = str(self.random_enum(self.range_and_enum(field="points_fees", rng_max=self.points_and_fees)))
		valid_lar_row["origination_fee"] = str(self.random_enum(self.range_and_enum(field="origination_fee", rng_max=self.orig_charges)))
		valid_lar_row["discount_points"] = str(self.random_enum(self.range_and_enum(field="discount_points", rng_max=self.discount_points, empty=True)))
		valid_lar_row["lender_credits"] = str(self.random_enum(self.range_and_enum(field="lender_credits", rng_max=self.lender_credits, empty=True)))
		valid_lar_row["interest_rate"] = str(self.random_enum(self.range_and_enum(field="interest_rate", rng_max=25, dtype="float")))
		valid_lar_row["prepayment_penalty"] = str(self.random_enum(self.range_and_enum(field="prepayment_penalty", rng_max=self.penalty_max)))
		valid_lar_row["dti"] = str(self.random_enum(self.range_and_enum(field="dti", rng_max=self.dti)))
		valid_lar_row["cltv"] = str(self.random_enum(self.range_and_enum(field="cltv", rng_max=self.cltv)))
		valid_lar_row["loan_term"] = str(self.random_enum(self.range_and_enum(field="loan_term", rng_max=self.loan_term)))
		valid_lar_row["intro_rate"] = str(self.random_enum(self.range_and_enum(field="intro_rate", rng_max=self.intro_rate)))
		valid_lar_row["balloon"] = str(self.random_enum(self.get_schema_list(field="balloon")))
		valid_lar_row["int_only_pmts"] = str(self.random_enum(self.get_schema_list(field="int_only_pmts")))
		valid_lar_row["neg_amort"] = str(self.random_enum(self.get_schema_list(field="neg_amort")))
		valid_lar_row["non_amort_features"] = str(self.random_enum(self.get_schema_list(field="non_amort_features")))
		valid_lar_row["property_value"] = str(self.random_enum(self.range_and_enum(field="property_value", rng_min=self.prop_val_min, rng_max=self.prop_val_max)))
		valid_lar_row["manufactured_type"] = str(self.random_enum(self.get_schema_list(field="manufactured_type")))
		valid_lar_row["manufactured_interest"] = str(self.random_enum(self.get_schema_list(field="manufactured_interest")))
		valid_lar_row["total_units"] = str(self.random_enum(self.range_and_enum(field="total_units", rng_min=1, rng_max=self.max_units)))
		valid_lar_row["affordable_units"] = str(self.random_enum(self.range_and_enum(field="affordable_units", rng_min=0, rng_max=int(valid_lar_row["total_units"]))))
		valid_lar_row["app_submission"] = str(self.random_enum(self.get_schema_list(field="app_submission")))
		valid_lar_row["initially_payable"] = str(self.random_enum(self.get_schema_list(field="initially_payable")))
		valid_lar_row["mlo_id"] = utils.char_string_gen(random.choice(range(25)))
		valid_lar_row["aus_1"] = str(self.random_enum(self.get_schema_list(field="aus_1")))
		valid_lar_row["aus_2"] = str(self.random_enum(self.get_schema_list(field="aus_2", empty=True)))
		valid_lar_row["aus_3"] = str(self.random_enum(self.get_schema_list(field="aus_3", empty=True)))
		valid_lar_row["aus_4"] = str(self.random_enum(self.get_schema_list(field="aus_4", empty=True)))
		valid_lar_row["aus_5"] = str(self.random_enum(self.get_schema_list(field="aus_5", empty=True)))
		valid_lar_row["aus_code_5"] = utils.char_string_gen(random.choice(range(255)))
		valid_lar_row["aus_result_1"] = str(self.random_enum(self.get_schema_list(field="aus_result_1")))
		valid_lar_row["aus_result_2"] = str(self.random_enum(self.get_schema_list(field="aus_result_2", empty=True)))
		valid_lar_row["aus_result_3"] = str(self.random_enum(self.get_schema_list(field="aus_result_3", empty=True)))
		valid_lar_row["aus_result_4"] = str(self.random_enum(self.get_schema_list(field="aus_result_4", empty=True)))
		valid_lar_row["aus_result_5"] = str(self.random_enum(self.get_schema_list(field="aus_result_5", empty=True)))
		valid_lar_row["aus_code_16"] = utils.char_string_gen(random.choice(range(255)))
		valid_lar_row["reverse_mortgage"] = str(self.random_enum(self.get_schema_list(field="reverse_mortgage")))
		valid_lar_row["open_end_credit"] = str(self.random_enum(self.get_schema_list(field="open_end_credit")))
		valid_lar_row["business_purpose"] = str(self.random_enum(self.get_schema_list(field="business_purpose")))
		return valid_lar_row