股权融资成本GLS模型计算

2024-04-12 14:28

本文主要是介绍股权融资成本GLS模型计算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、模型公式

式中:

为股权融资成本

P为股价

B为每股净资产

FROE为预测每股净资产收益率

目标:求解股权融资成本

二、模型口径参考来源

PS:实际以代码为准

①FROE(预测每股净资产收益率):

资本市场开放与股权资本成本  2020 金融研究

②股利支付率k(综合考虑股利政策不稳定与公司规模变化、公司成长机会,采用过去3年股利支付率平均值作为k):

媒体曝光度_信息披露环境与权益资本成本 2014 金融研究

机构投资者、所有权性质与权益资本成本 2018 金融研究

终极所有权结构对权益资本成本的影响 2016 管理科学学报

贸易摩擦与权益资本成本 2021会计研究

IFRS、财务分析师、机构投资者和权益资本成本 2016会计研究

③Pt(股价)、Bt(每股净资产):二者同为t时点

资本市场开放和股权资本成本 2020 金融研究

中美交叉上市与权益资本成本研究 2013 国际金融研究

真实盈余管理与权益资本成本 2015 金融研究

④Matlab求解:

三、代码片段

3.1导入库及读取相关文件

需要的文件 1.kFlieName:股利支付率 国泰安 -> 股利政策 -> 基本数据 -> 财务指标数据 注意:

1.包含当年的过去5年 2.必须先选每股股利后选每股收益!

2.FROEFlieName:预测净资产收益率 锐思 -> 研究报告 -> 个股盈利预测
注意:1.截止日期12-31 2.需要字段:股票代码、预测年度、净资产收益率平均 3.统计时间间隔为180时数据才与wind基本一致!!!!!

3.indROEFlieName:行业ROE 锐思 -> 研究报告 -> 行业财务指标 注意:1.截止日期12-31 2.行业划分标准:9申万 3.需要字段:行业代码_IndCd、行业净资产收益率(%)_IndROE

4.closeFlieName:12月收盘价平均值 锐思 -> 股票 -> 日股票综合数据 注意:1.日期范围:12.1-12.31 2.需要字段:股票代码、日期、收盘价

5.bNewFlieName:每股净资产 锐思 -> 股票 > 年股票数据 注意:1.日期:12.31 2.需要字段:股票代码、每股净资产

6.newStkCode.csv:目标股票代码

7.RESSET_INDCLS_1.csv:公司所属行业

import pandas as pd
import numpy as np
from numpy import *
import sympy as sp#2008
kFlieName = "2008年数据\k2003_2008.csv"
FROEFlieName = "2008年数据\RESSET_RRSTKEAFOCA_2008_1.csv"
indROEFlieName = "2008年数据\INDFI_EARNPOWER.csv"
closeFlieName = "2008年数据\RESSET_DRESSTK_2001_2010_1.csv"
bNewFlieName = "2008年数据\RESSET_YRESSTK_1.csv"stkCode =  pd.read_csv("newStkCode.csv",header=None,names=["stkCode"])  #目标股票代码indClass = pd.read_csv("RESSET_INDCLS_1.csv",index_col="股票代码_StkCd")[["行业代码_IndCd"]]
indClass = pd.read_csv("RESSET_INDCLS_1_new.csv",index_col="股票代码_StkCd")[["行业代码_IndCd"]]
# for index,each in enumerate(indClass.index):
#     indClass.index[index] = 0
newK =  pd.read_csv(kFlieName,index_col="Stkcd").dropna()
FROE =  pd.read_csv(FROEFlieName,index_col="股票代码_StkCd")[["预测年度_ForYear","净资产收益率平均(%)_ROEAvg"]]
FROE.columns = ["预测年度","FROE"]
# close =  pd.read_csv("RESSET_MRESSTK_1.csv",index_col="股票代码_Stkcd")#.iloc[:,:-1]# indROE =  pd.read_csv(indROEFlieName,index_col="行业代码_IndCd")["行业净资产收益率(%)_IndROE"]
indROE =  pd.read_csv(indROEFlieName,index_col="IndustryCode")["ROEB"]close = pd.read_csv(closeFlieName,index_col="股票代码_Stkcd")
bNew = pd.read_csv(bNewFlieName,index_col="股票代码_Stkcd")# indClass
# indROEstkCodeList = set(stkCode["stkCode"])
newKIndex = set(newK.index)
FROEIndex = set(FROE.index)
indClassIndex = set(indClass.index)
indROEIndex = set(indROE.index)
closeNewIndex = set(closeNew.index)
bNewIndex = set(bNew.index)selectIndex = stkCodeList & newKIndex & FROEIndex  & bNewIndex & indClassIndex & closeNewIndexprint(len(selectIndex))

3.2股利支付率

kMean5 = []#股利支付率k = 每股股利 / 每股收益
for eachIndex in set(newK.index):newK.loc[eachIndex,"k"] = newK.loc[eachIndex,"T20497"]/newK.loc[eachIndex,"T60200"] #股利支付率 = 每股股利 / 每股收益for eachIndex in sorted(list(selectIndex)):test = newK.loc[eachIndex].iloc[:5]["k"].sum()/5                #过去5年均值kMean5.append(test)panel = pd.DataFrame({"k":kMean5},index=sorted(list(selectIndex)))
print(panel)

3.3FROE

FROE = FROE.loc[selectIndex]
FROE = FROE.sort_index()for eachIndex in sorted(set(selectIndex)):test = FROE.loc[eachIndex]if len(test) != 3:FROE.drop(index=[eachIndex],inplace=True,axis=0)FROEIndex = set(FROE.index)
selectIndex = stkCodeList & newKIndex & FROEIndex  & bNewIndex & indClassIndex & closeNewIndex
print(len(selectIndex))
print(len(panel))for eachIndex in list(selectIndex):
#     print(close.loc[eachIndex]["b"])panel.loc[eachIndex,"t+1"] = FROE.loc[eachIndex].sort_values(by="预测年度")["FROE"].iloc[1]*0.01panel.loc[eachIndex,"t+2"] = FROE.loc[eachIndex].sort_values(by="预测年度")["FROE"].iloc[2]*0.01
#     close.loc[eachIndex,"t+3"] = FROE.loc[eachIndex]["FROE"].iloc[2]*0.01panel.loc[eachIndex,"t+3"] = (panel.loc[eachIndex,"t+1"] + panel.loc[eachIndex,"t+2"])/2panel.loc[eachIndex,"行业代码"] = indClass.loc[eachIndex][0]
print(len(panel))for eachIndex in selectIndex:
#     print(int(close.loc[eachIndex]["行业代码"]))if int(panel.loc[eachIndex]["行业代码"]) in indROE.index:panel.loc[eachIndex,"IndROE"] = indROE.loc[int(panel.loc[eachIndex]["行业代码"])]*0.01 
print(len(panel))for eachIndex in selectIndex:begin = panel.loc[eachIndex,"t+3"]end = panel.loc[eachIndex,"IndROE"]dif = abs((begin-end)/9)#9bFront = panel.loc[eachIndex,"b"] #b0for i in list(range(4,13)):#13begin = begin-difpanel.loc[eachIndex,"t+"+str(i)] = beginfor i in list(range(1,13)):bFront = bFront + panel.loc[eachIndex,"t+"+str(i)] * bFront * (1-panel.loc[eachIndex,"k"])panel.loc[eachIndex,"b"+str(i)] = bFront
print(len(panel))

3.4收盘价

close = close.loc[selectIndex]
close = close.sort_index()for eachIndex in list(selectIndex):each = close.loc[eachIndex,"收盘价_Clpr"]panel.loc[eachIndex,"close"] = each.mean()
print(len(panel))

3.5每股净资产

for eachIndex in list(selectIndex):each = bNew.loc[eachIndex,"每股净资产(元/股)_NAPS"]panel.loc[eachIndex,"b"] = each
print(len(panel))

3.6保存各年面板数据

newData = pd.read_csv("result.csv",header=None)[0].dropna() + 0.5
print(len(newData))
newData = newData[newData!=1.5]
print(len(newData))
# print(newData.sort_values()[-50:])
print(newData.sort_values()[7:-7].describe())

各年面板数据如下图:

3.7Matlab求解方程(Matlab)

clear all;clc;
data=csvread('C:\Users\zsllsz2022\Desktop\10月实证\GLS模型\core\2-原始口径合并版本-重新计算2008-2020\panel2008.csv',1,0);
P=data(:,3);
B(:,1)=data(:,4);
B(:,2:13)=data(:,19:30);
FROE(:,1:3)=data(:,5:7);
FROE(:,4:12)=data(:,10:18);%% [-0.49995,0.49995]每隔0.0001计算函数值
for stock = 1:length(data)for j = 1 : 10000r(j) = 0.0001 * j; yy(stock,j) = B(stock,1);for i = 1 : 11yy(stock,j) = yy(stock,j) + (FROE(stock,i)-r(j))*B(stock,i)/((1+r(j))^i);endyy(stock,j) = yy(stock,j) + (FROE(stock,12)-r(j))*B(stock,12)/(r(j)*(1+r(j))^12);yy(stock,j) = yy(stock,j) - P(stock);end
end%% 寻找零点
for stock = 1:length(data)count = 1;for j = 1 : 9999if yy(stock,j+1) * yy(stock,j) < 0resultTemp(stock, count) = (j - 5000) * 0.0001;count = count + 1;endend
end%%
for stock = 1:length(data)temp = 1;for j = 1 : size(resultTemp,2)if abs(resultTemp(stock, j)) < abs(temp) && abs(resultTemp(stock, j)) > 0.000000001temp = resultTemp(stock, j);endendresult(stock,1) = temp;
end%%
%对结果排序
xSort=sort(result);%剔除头尾百分之一的数据
delNum=ceil(length(xSort) * 0.01);
for i=1:length(xSort)-2*delNumx2(i,1)=xSort(i+delNum);
end%求平均值以及标准差
avg=mean(x2);
stdev=std(x2);% function y=myfun(r,P,B,FROE)
%     F=B(1);
%     for i=1:11
%         F=F+(FROE(i)-r)*B(i)/((1+r)^i);
%     end
%     F=F+(FROE(12)-r)*B(12)/(r*(1+r)^12);
%     y=P-F;
% end

四、结果

计算出的GLS模型股权融资成本(实际结果采用2种不同的GLS模型口径)

这篇关于股权融资成本GLS模型计算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/897391

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot