根据人行征信,做特征衍生,写2-5个指标的中英文名,并且写出指标的类型,和风险类型,对其中的1个写伪代码指标逻辑和sql逻辑,特征衍生的经典一点,复杂一点
时间: 2024-05-09 21:19:50 浏览: 12
指标一:逾期次数(OverdueCount)
类型:数值型
风险类型:信用风险
伪代码逻辑:
```
overdue_count = 0
for each record in credit_records:
if record.overdue_days > 0:
overdue_count += 1
```
SQL逻辑:
```
SELECT COUNT(*) AS overdue_count
FROM credit_records
WHERE overdue_days > 0;
```
指标二:负债比例(DebtRatio)
类型:数值型
风险类型:债务风险
伪代码逻辑:
```
total_debt = 0
total_assets = 0
for each record in credit_records:
total_debt += record.debt
total_assets += record.assets
debt_ratio = total_debt / total_assets
```
SQL逻辑:
```
SELECT SUM(debt) AS total_debt, SUM(assets) AS total_assets,
(total_debt/total_assets) AS debt_ratio
FROM credit_records;
```
指标三:月均消费(MonthlyExpense)
类型:数值型
风险类型:生活习惯风险
伪代码逻辑:
```
total_expense = 0
for each record in credit_records:
total_expense += record.expense
monthly_expense = total_expense / number_of_months
```
SQL逻辑:
```
SELECT SUM(expense) AS total_expense,
(DATEDIFF(MAX(date), MIN(date))/30) AS number_of_months,
(total_expense/number_of_months) AS monthly_expense
FROM credit_records;
```
指标四:信用评级(CreditRating)
类型:分类型
风险类型:信用风险
伪代码逻辑:
```
if credit_score >= 800:
credit_rating = "A"
elif credit_score >= 700:
credit_rating = "B"
elif credit_score >= 600:
credit_rating = "C"
else:
credit_rating = "D"
```
SQL逻辑:
```
SELECT CASE
WHEN credit_score >= 800 THEN 'A'
WHEN credit_score >= 700 THEN 'B'
WHEN credit_score >= 600 THEN 'C'
ELSE 'D' END AS credit_rating
FROM credit_records;
```
指标五:稳定性指数(StabilityIndex)
类型:数值型
风险类型:职业稳定风险
伪代码逻辑:
```
stable_years = 0
for each record in employment_records:
if record.duration > 1:
stable_years += 1
stability_index = stable_years / number_of_employment_records
```
SQL逻辑:
```
SELECT COUNT(*) AS number_of_employment_records,
SUM(CASE WHEN duration > 1 THEN 1 ELSE 0 END) AS stable_years,
(stable_years/number_of_employment_records) AS stability_index
FROM employment_records;
```