第8章 企业流动资产管理
8.1 流动资产概述
8.1.1 流动资产分类
import pandas as pd
def current_assets_classification(data):
"""
流动资产分类分析函数
功能:计算并分析各类流动资产占比
参数:
data: DataFrame,包含现金、应收账款等流动资产数据
返回:
字典,包含各类流动资产占比
"""
total_assets = data.sum().sum()
cash_ratio = data['现金'].sum() / total_assets
receivables_ratio = data['应收账款'].sum() / total_assets
inventory_ratio = data['存货'].sum() / total_assets
investments_ratio = data['短期投资'].sum() / total_assets
return {
'现金占比': cash_ratio,
'应收账款占比': receivables_ratio,
'存货占比': inventory_ratio,
'短期投资占比': investments_ratio
}
current_assets_data = pd.DataFrame({
'现金': [500000, 550000, 600000],
'应收账款': [300000, 320000, 350000],
'存货': [200000, 180000, 220000],
'短期投资': [100000, 120000, 150000]
})
assets_analysis = current_assets_classification(current_assets_data)
print("\n流动资产分类分析结果:")
for key, value in assets_analysis.items():
print(f"{key}: {value:.2%}")
8.1.2 流动资产特点
def current_assets_turnover(data):
"""
流动资产周转分析函数
功能:计算流动资产周转率
参数:
data: DataFrame,包含流动资产和营业收入数据
返回:
Series,包含流动资产周转率
"""
return data['营业收入'] / data['流动资产']
turnover_data = pd.DataFrame({
'流动资产': [1000000, 1050000, 1100000],
'营业收入': [2000000, 2200000, 2400000]
})
turnover_data['周转率'] = current_assets_turnover(turnover_data)
print("\n流动资产周转率:")
print(turnover_data[['流动资产', '营业收入', '周转率']])
8.2 现金管理
8.2.1 最佳现金持有量
def optimal_cash_balance(data):
"""
最佳现金持有量计算函数
功能:使用存货模型计算最佳现金持有量
参数:
data: DataFrame,包含交易成本、利率和现金需求数据
返回:
Series,包含最佳现金持有量
"""
return ((2 * data['交易成本'] * data['现金需求']) / data['利率']) ** 0.5
cash_data = pd.DataFrame({
'交易成本': [100, 120, 150],
'现金需求': [500000, 550000, 600000],
'利率': [0.05, 0.06, 0.07]
})
cash_data['最佳持有量'] = optimal_cash_balance(cash_data)
print("\n最佳现金持有量:")
print(cash_data)
8.2.2 现金预算
def cash_budget_analysis(data):
"""
现金预算分析函数
功能:分析现金流入流出及余缺
参数:
data: DataFrame,包含现金流入、流出数据
返回:
DataFrame,包含现金预算分析结果
"""
data['现金余缺'] = data['现金流入'] - data['现金流出']
data['累计余缺'] = data['现金余缺'].cumsum()
return data
cash_budget_data = pd.DataFrame({
'现金流入': [500000, 550000, 600000],
'现金流出': [450000, 500000, 550000]
})
budget_analysis = cash_budget_analysis(cash_budget_data)
print("\n现金预算分析结果:")
print(budget_analysis)
8.3 应收账款管理
8.3.1 信用政策
def credit_policy_analysis(data):
"""
信用政策分析函数
功能:分析不同信用政策下的应收账款周转情况
参数:
data: DataFrame,包含应收账款、销售收入数据
返回:
Series,包含应收账款周转天数
"""
return (data['应收账款'] / data['销售收入']) * 365
credit_data = pd.DataFrame({
'应收账款': [300000, 320000, 350000],
'销售收入': [1500000, 1600000, 1700000]
})
credit_data['周转天数'] = credit_policy_analysis(credit_data)
print("\n应收账款周转天数:")
print(credit_data)
8.3.2 应收账款监控
def accounts_receivable_aging(data):
"""
应收账款账龄分析函数
功能:分析应收账款账龄结构
参数:
data: DataFrame,包含不同账龄段的应收账款
返回:
Series,包含各账龄段占比
"""
total_receivables = data.sum().sum()
return data.sum() / total_receivables
aging_data = pd.DataFrame({
'0-30天': [200000, 220000, 240000],
'31-60天': [80000, 75000, 70000],
'61-90天': [20000, 25000, 30000],
'90天以上': [10000, 15000, 20000]
})
aging_analysis = accounts_receivable_aging(aging_data)
print("\n应收账款账龄分析:")
print(aging_analysis)
8.4 存货管理
8.4.1 经济订货批量
def economic_order_quantity(data):
"""
经济订货批量计算函数
功能:计算经济订货批量
参数:
data: DataFrame,包含年需求量、订货成本、持有成本
返回:
Series,包含经济订货批量
"""
return ((2 * data['年需求量'] * data['订货成本']) / data['持有成本']) ** 0.5
eoq_data = pd.DataFrame({
'年需求量': [10000, 12000, 15000],
'订货成本': [500, 550, 600],
'持有成本': [20, 25, 30]
})
eoq_data['经济订货量'] = economic_order_quantity(eoq_data)
print("\n经济订货批量:")
print(eoq_data)
8.4.2 存货控制
def abc_classification(data):
"""
ABC分类分析函数
功能:对存货进行ABC分类
参数:
data: Series,包含各类存货金额
返回:
Series,包含ABC分类结果
"""
total_value = data.sum()
sorted_data = data.sort_values(ascending=False)
cumulative_percentage = sorted_data.cumsum() / total_value
classification = pd.Series(index=data.index)
classification[cumulative_percentage <= 0.8] = 'A'
classification[(cumulative_percentage > 0.8) & (cumulative_percentage <= 0.95)] = 'B'
classification[cumulative_percentage > 0.95] = 'C'
return classification
inventory_data = pd.Series({
'原材料A': 500000,
'原材料B': 300000,
'原材料C': 200000,
'原材料D': 100000,
'原材料E': 50000
})
abc_result = abc_classification(inventory_data)
print("\n存货ABC分类结果:")
print(abc_result)
8.5 某企业流动资产管理案例
8.5.1 数据准备
def prepare_current_assets_data(data):
"""
企业流动资产管理数据准备函数
功能:清洗数据并创建新特征
参数:
data: DataFrame,原始企业流动资产管理数据
返回:
DataFrame,处理后的企业流动资产管理数据
处理步骤:
1. 数据清洗:去除空值和无效数据
2. 特征工程:创建流动资产周转率、应收账款周转天数等新特征
3. 特征缩放:标准化流动资产相关特征
"""
data = data.dropna()
data = data[data['流动资产'] > 0]
data['流动资产周转率'] = data['营业收入'] / data['流动资产']
data['应收账款周转天数'] = (data['应收账款'] / data['营业收入']) * 365
scaler = StandardScaler()
scaled_features = scaler.fit_transform(data[['现金', '应收账款', '存货']])
data[['现金', '应收账款', '存货']] = scaled_features
return data
enterprise_current_assets_data = pd.DataFrame({
'现金': [500000, 550000, 600000],
'应收账款': [300000, 320000, 350000],
'存货': [200000, 180000, 220000],
'营业收入': [1500000, 1600000, 1700000],
'流动资产': [1000000, 1050000, 1170000]
})
prepared_current_assets_data = prepare_current_assets_data(enterprise_current_assets_data)
print("\n准备后的企业流动资产管理数据:")
print(prepared_current_assets_data)
8.5.2 分析模型
- 流动资产预测模型
- 流动资产效率分析模型
- 流动资产优化模型
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
def current_assets_prediction_model(data):
"""
流动资产预测模型函数
功能:建立随机森林模型预测流动资产
参数:
data: DataFrame,包含现金、应收账款等特征
返回:
训练好的随机森林模型
处理步骤:
1. 划分训练集和测试集
2. 训练随机森林模型
3. 评估模型性能
4. 可视化预测结果
"""
X = data[['现金', '应收账款', '存货']]
y = data['流动资产']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f"\n流动资产预测模型评估:\n均方误差:{mse:.2f}")
plt.figure(figsize=(10,6))
plt.scatter(y_test, y_pred)
plt.plot([y.min(), y.max()], [y.min(), y.max()], 'k--', lw=2)
plt.xlabel('实际流动资产')
plt.ylabel('预测流动资产')
plt.title('实际 vs 预测流动资产')
plt.show()
return model
current_assets_model = current_assets_prediction_model(prepared_current_assets_data)
def current_assets_efficiency_analysis(data):
"""
流动资产效率分析函数
功能:计算各项流动资产的效率指标
参数:
data: DataFrame,包含现金、应收账款等数据
返回:
Series,包含各项流动资产的效率指标
"""
efficiency_metrics = {
'现金周转率': data['营业收入'].mean() / data['现金'].mean(),
'应收账款周转率': data['营业收入'].mean() / data['应收账款'].mean(),
'存货周转率': data['营业收入'].mean() / data['存货'].mean()
}
return pd.Series(efficiency_metrics)
efficiency_analysis = current_assets_efficiency_analysis(prepared_current_assets_data)
print("\n流动资产效率分析结果:")
print(efficiency_analysis)
def current_assets_optimization_model(data):
"""
流动资产优化潜力分析函数
功能:计算各项流动资产的优化潜力
参数:
data: DataFrame,包含现金、应收账款等数据
返回:
Series,包含各项流动资产的优化潜力
"""
optimization_potential = {
'现金优化': data['现金'].max() - data['现金'].min(),
'应收账款优化': data['应收账款'].max() - data['应收账款'].min(),
'存货优化': data['存货'].max() - data['存货'].min()
}
return pd.Series(optimization_potential)
optimization_potential = current_assets_optimization_model(prepared_current_assets_data)
print("\n流动资产优化潜力分析:")
print(optimization_potential)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/929f27a252574ca08d94729ee749b1e8.png