精华内容
下载资源
问答
  • 股票估值模型(dcf估值、ddm估值、apv估值、ae估值、eva估值)
  • 基于Python3的格雷厄姆 股票估值模型

    千次阅读 2020-04-04 14:24:50
    格雷厄姆 股票估值模型格雷厄姆 股票估值模型具体思路如下:文件结构合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、...

    摘要

    在阅读美国经济学家和投资思想家本杰明·格雷厄姆的《聪明投资者》的书籍时,发现有一个成长股的资本化率公式,这个公式是假定上市公司恒定增长,在给定一个合理的市盈率和预期增长率的情况下,预计公司未来7~10年的合理价格。

    估值模型思路

    获取数据
    数据提取
    数据清洗
    计算估值
    存储到数据库

    1、获取数据
    数据的获取方法有很多,可以直接从同花顺、东方财富网、萝卜投研上获取,这里我是直接从萝卜投研上获取。
    2、数据提取
    获取数据后,我们从获取的数据中提取需要的财务指标。
    3、数据清洗
    数据中有一些缺失值,我们使用0进行填充,并保存到MySQL数据库中。
    4、计算估值
    依据格雷厄姆的成长公式计算股票的估值。
    5、存储到数据库
    将计算的股票估值存储到MongoDB数据库中。
    关于上面第3点,为什么要将清洗后财务数据存储到MySQL数据库中,是因为计算出来的估值仅用于参考,还需要横向对比同行业不同公司的财务指标,选出同行业的龙头企业。

    项目结构

    如下图所示的项目文件结构
    项目文件结构

    • main.py 主文件
    • fetch_stock_data.py 提取数据和清洗数据的模块
    • mysql_drivers.py 在MySQL驱动基础上二次开发的操作函数
    • stockinfo.py 股票的基础数据,例如:股票名称对应的代码
    • valuation_model.py 股票估值模型

    模块介绍

    fetch_stock_data.py 提取数据模块

    数据提取模块包含fillna_value()和fetch_data_one()函数
    fillna_value() 用于将异常值 NaN,’-’, np.inf, -np.inf 替换成 -1
    fetch_data_one() 函数提出关键的财务数据并返回
    代码如下:

    def fetch_data_one(self, name):
        ''' 提取某支股票的财务数据
    
        参数
        ----------
        name : str
           公司名称
    
        返回值 
        ----------
        DataFrame
            提取的财务数据
        '''
    
        try:
            # 文件列表
            cw_file = name + r'-财务摘要表.xls'
            fz_file = name + r'-资产负债表.xls'
    
            # 读取文件
            cw_pd = pd.read_excel(cw_file, index_col=0, header=0)   # 读取 财务摘要表
            fz_pd = pd.read_excel(fz_file, index_col=0, header=0)   # 读取 资产负债表
        except FileNotFoundError:
            print('=== ERROR: 文件 {} 或者 {} 不存在!'.format(cw_file, fz_file))
            # 返回空的DataFrame对象
            return pd.DataFrame()
    
        print('提取 {} 公司数据'.format(name))
        # 提取关键数据
        cw_pd1 = cw_pd.reindex(['营业收入', '营业收入同比(YOY)', '归属母公司股东的净利润', '归属母公司股东的净利润同比(YOY)',
         '经营活动现金净流量','投资活动产生的现金流量净额', 'ROE(摊薄)', 'ROIC', 'EPS(摊薄)', '股息率', '资产负债率', '折旧与摊销', '销售毛利率', '销售净利润率', 'EBIT', 'EBITDA'])
        fz_pd1 = fz_pd.reindex(['商誉', '非流动资产合计', '负债合计', '货币资金', '应收账款', '存货'])
        concat_data = pd.concat([cw_pd1, fz_pd1], sort=False).T   # 合并图表,并转换行列位置
        self.fillna_value(concat_data)   # 填充缺失值
    
        # 计算指标
        concat_data['归属母公司股东的净利润 / 经营活动现金净流量'] = concat_data['归属母公司股东的净利润'] / concat_data['经营活动现金净流量']
    
        # 对列标签重新排序
        finall_data = concat_data.reindex(['营业收入', '营业收入同比(YOY)', '归属母公司股东的净利润', '归属母公司股东的净利润同比(YOY)', '经营活动现金净流量', '归属母公司股东的净利润 / 经营活动现金净流量', '投资活动产生的现金流量净额', '货币基金',
           '应收账款', '存货', '商誉', '折旧与摊销', '非流动资产合计', '资产负债率', '销售毛利率', '销售净利润率', 'EPS(摊薄)', 'ROE(摊薄)', 'ROIC', '股息率', 'EBIT', 'EBITDA'], axis='columns')
    
        # 对行标签进行排序
        finall_data.sort_index(inplace=True)
    
        return finall_data
    

    这里我们传入一个公司名称到fetch_data_one()函数,函数会打开对应公司的“财务摘要表”和“资产负债表”Excel文件(我们前面提前下载好,放在工作目录下的),打开文件后,我们提取关键字段,然后将两个DataFrame表对象合并成一个,在处理异常值后返回最终的DataFrame对象。

    流程图如下:

    打开Excel
    提取字段
    合并DataFame
    行列转置
    填充异常值
    索引排序
    返回DataFrame

    mysql_drivers.py 自定义MySQL驱动模块

    这个模块自定义了驱动MySQL的函数,包括如下的函数和常量:

    SQL_FIELDS 常量:数据库中的变量对照表

    MysqlDrivers类说明
    init(self, db) 方法
    说明:连接数据库

    isexists_table(self, table) 方法
    说明:查询表是否存在

    create_table(self, table) 方法
    说明:传入表名table,创建固定结构的表。

    query_value(self, table, fields=None)方法
    说明:查询表的数据。

    insert_values(self, table, params) 方法
    说明:插入一组或多组数据

    close_connet(self) 方法
    说明:关闭打开的数据库连接。

    部分代码如下:

    # 数据库中的变量对照表
    SQL_FIELDS = {
        '公司名称': 'company',
        '报告日期': 'report_date',
        '营业收入': 'taking',
        '营业收入同比': 'taking_growth_rate',
        '净利润': 'retained_profits',
        '净利润同比': 'profits_growth_rate',
        '经营活动现金净流量': 'ONCF',
        '投资活动产生的现金流量净额': 'IONCF',
        '货币基金': 'money_fund',
        '存货': 'inventory',
        '应收账款': 'receivables',
        '商誉': 'goodwill',
        '非流动资产合计': 'Non_Total_current_assets',
        '折旧与摊销': 'depreciation_amortization',
        '负债合计': 'total_liability',
        '资产负债率': 'LEV',
        '销售毛利率': 'gross_profit',
        '销售净利润率': 'sales_profit_margin',
        'EPS': 'EPS',
        '净资产收益率': 'ROE',
        'ROE': 'ROE',
        'ROIC': 'ROIC',
        '股息率': 'DYR',
        '企业主营业务的盈利能力': 'EBIT',
        '企业主营业务产生现金流的能力': 'EBITDA',
        '归属母公司股东的净利润 / 经营活动现金净流量': 'profits_to_cash',
        '非流动资产收益率': 'NCROA',
    }
    

    SQL_FIELDS 常量是一个字典,定义了财务指标对应数据库的字段名

    def create_table(self, table):
    	''' 创建表
    	    根据表结构创建数据库的表
    
    	参数
    	----------
    	table :str
    	    表名
    
    	返回值
    	----------
    	    无
    	'''
    	# 通用的表结构
    	genernal_table = ("""
    CREATE TABLE IF NOT EXISTS {} (
    company varchar(10) COMMENT '公司名称',
    report_date varchar(20) COMMENT '报告日期',
    taking decimal(16, 6) COMMENT '营业收入',
    taking_growth_rate varchar(10) COMMENT '营业收入同比(YOY)',
    retained_profits decimal(16, 6) COMMENT '归属母公司股东的净利润',
    profits_growth_rate varchar(10) COMMENT '归属母公司股东的净利润同比(YOY)',
    ONCF decimal(16, 6) COMMENT '经营活动现金净流量',
    profits_to_cash float COMMENT '归属母公司股东的净利润 / 经营活动现金净流量',
    IONCF decimal(16, 6) COMMENT '投资活动产生的现金流量净额',
    money_fund decimal(16, 6) COMMENT '货币基金',
    receivables decimal(16, 6) COMMENT '应收账款',
    inventory decimal(16, 6) COMMENT '存货',
    goodwill decimal(16, 6) COMMENT '商誉',
    depreciation_amortization decimal(16, 6) COMMENT '折旧与摊销',
    Non_Total_current_assets decimal(16, 6) COMMENT '非流动资产合计',
    LEV varchar(10) COMMENT '资产负债率',
    gross_profit varchar(10) COMMENT '销售毛利率',
    sales_profit_margin varchar(10) COMMENT '销售净利润率',
    EPS varchar(10) COMMENT 'EPS(摊薄)',
    ROE varchar(10) COMMENT 'ROE(摊薄)',
    ROIC varchar(10) COMMENT '投资资本回报率',
    DYR varchar(10) COMMENT '股息率',
    EBIT float COMMENT '企业主营业务的盈利能力',
    EBITDA float COMMENT '企业主营业务产生现金流的能力',
    update_date date COMMENT '当前的时间',
    primary key (company, report_date)
    )
    	""")
    	# 创建表 table
    	# print(type((table)))
    	self.cursor.execute(genernal_table.format(table))
    	self.cnx.commit()   # 确定修改
    

    create_table()函数创建一个固定结构的表,表的名称以股票代码来命名,例如:深圳主板上市的格力电器,代码:000651,则表的名称为sz_000651
    股票名称对对应表的名称存在于 stockinfo.py 模块的STOCK_INFO 常量中。

    def query_value(self, table, fields=None):
        ''' 查询表数据
            查询表table字段fields的数据;如果fields为None,则查询表table所有数据
    
        参数
        ----------
        table :str
            表名
        fields :str,list,tuple
            查询的字段,默认为None,查询所有字段的数据
    
        返回值
        ----------
        list
            查询到的数据
        '''
        # print(fields)
        if fields is None:   # 如果fields为None,则查询所有数据
            query = ("SELECT * FROM {}".format(STOCK_INFO[table]))
        elif isinstance(fields, (tuple, list)):  # 如果fields是列表或者元组, 则查询多个字段
            fields1 = ','.join(
        [SQL_FIELDS[key] for col in fields for key in SQL_FIELDS.keys(
        ) if re.match('.*{}.*'.format(col), key)])    # 拼接查询内容
            query = ("SELECT {} FROM {}".format(fields1, STOCK_INFO[table]))
        else:  # 查询一个字段
            field = [SQL_FIELDS[key] for key in SQL_FIELDS.keys(
            ) if re.match('.*{}.*'.format(fields), key)][0]
            query = ("SELECT {} FROM {}".format(field, STOCK_INFO[table]))
    
        self.cursor.execute(query)
    
        return self.cursor.fetchall()
    

    query_value() 函数查询数据库的内容,默认查询某个表的所有字段。
    流程图如下:

    None
    tuple or list
    其余情况
    fields
    查询所有字段
    查询tuple or list中的字段
    查询一个字段
    返回查询值

    valuation_model.py 股票估值模块

    这个模块计算股票的估值,例如:PE、PB、内生增长率等。主要包括如下的函数:
    to_float(self, string) 函数
    说明:将带%的字符串转换成浮点型数值

    correction_growth(self, growth) 函数
    说明:修正净利润同比增长率

    collection_struct(self, *args) 函数
    说明:转换成MongoDB 数据结构

    calculate_value(self, name, table) 函数
    说明:计算企业价值,包括PE, PB, 股价,预期股价,净利润同比增长率,内生增长率

    股票的估值指标主要有PE、PB、PS等
    市盈率(PE)是指股票价格除以每股收益(每股收益,EPS)的比率
    市净率(PB)指的是每股股价与每股净资产的比率
    PE(市盈率)、PB(市净率)的计算方法参照雪球大V的 坤鹏论:用ROE推算合理的PE和PB 用盈再率看企业投资效率 文章提到的公式进行计算,
    它的方法考虑了ROE(净资产收益率)和股息支付率,更具有参考意义。
    公式如下:
    PE=(1-股利支付率)×ROE×100+股利支付率×10
    PB=((ROE^2)×(1-股利支付率))×100+ROE×股利支付率×10

    优秀的企业都应该是持续成长的,这也就是巴菲特的“具有可持续竞争优势”。
    自我维持增长率是衡量公司在不增加外部权益时最大的增长能力的指标,它也叫企业内生收益增长率,或是所有者权益增长率。
    计算方法参照雪球大V的坤鹏论:自强才是真强!企业的自我维持增长率怎么算?
    公式如下:
    自我维持增长率=(1-股利支付率)×权益回报率(ROE)

    格雷厄姆的《聪明投资者 第四版》著作中第七章中记载的成长股的资本化率公式:在这里插入图片描述
    当期利润是每股盈利EPS,预期年增长率不需要百分号(如:20%就是20),8.5是认为一家成长型公司的合理市盈率。
    例如:某股票最新的EPS为1.0,预期年增长率为20%
    那么现在的 合理股价 = 1.0 x (8.5 + 2 x 20) = 48.5元

    部分代码如下:

    def calculate_value(self, name, table):
        ''' 计算企业价值
            包括PE, PB, 股价,预期股价,净利润同比增长率,内生增长率
    
        参数
        ----------
        name :str
            公司名称
        table : PrettyTable object
            漂亮输出的对象
    
        返回值 
        ----------
        dict
            企业估值集合
        '''
        report = self.mysql.query_value(name, '报告日期')  # 报告日期列表
        # 如果最新的为季度报数据,则使用上一年年报数据
        N = -1 if re.match('.*季报', report[-1][0]) else 0
    
        report_date = report[-1 + N][0]  # 报告日期
        roe = np.average([self.to_float(roe[0])
                for roe in self.mysql.query_value(name, 'ROE')][-6 + N: -1 + N])  # 近5年平均ROE
        roic = np.average([self.to_float(roic[0])
                for roic in self.mysql.query_value(name, 'ROIC')][-6 + N: -1 + N])  # 近5年平均ROIC
        growth = np.average([self.to_float(roe[0])
                    for roe in self.mysql.query_value(name, '净利润同比')][-6 + N: -1 + N])  # 近5年平均净利润同比增长率
        eps = float(self.mysql.query_value(name, 'EPS')[-1 + N][0])  # EPS
    
        payouts = PAYOUTS_INFO[name]  # 股利支付率
    
        # 合理PE = (1 - 股利支付率) * ROE * 100 + 股利支付率 * 100  ; 公式来源于:雪球——坤鹏论
        pe = (1 - payouts) * roe * 100 + payouts * 10
    
        # 合理PB = (ROE)^2 * (1 - 股利支付率) * 100 + ROE * 股利支付率 * 10  ; 公式来源于:雪球——坤鹏论
        pb = np.power(roe, 2) * (1 - payouts) * 100 + roe * payouts * 10
    
        # 自我维持增长率 = (1 - 股利支付率) * ROE  ; 公式来源于:雪球——坤鹏论
        self_growth = (1 - payouts) * roe
    
        # 格雷厄姆公式合理股价 = EPS * (PE + 2 * G),对应于复利公式:EPS * PE * (1+G)^10;股价 = EPS * PE
        if re.match('.*银行', name):
            graham = eps * (pe + 2 * self.correction_growth(growth)
                    * 0.8 * 100)  # 银行板块,预期增长率G打8折
        else:
            graham = eps * (pe + 2 * self.correction_growth(growth)
                    * 0.5 * 100)  # 其余板块,预期增长率G打5折
        
        # 如果ROIC不为-1,则格式化roic
        roic_1 = '{:.2f} %'.format(roic * 100) if roic != -1 else roic 
        # 添加输出的数据 ['公司名称', '报告日期', EPS, 'ROE', 'ROIC', PE', 'PB', '合理股价','预期股价',  '净利润同比增长率', '内生增长率']
        table.add_row([name, report_date, eps, '{:.2f} %'.format(roe * 100), roic_1, pe, pb, 
                pe * eps, graham, '{:.2f} %'.format(growth * 100), '{:.2f} %'.format(self_growth * 100)])
        # 转换成 MongoDB 数据结构
        coll = self.collection_struct(name, report_date, eps,
                    pe, pb, graham, roe, roic, growth, self_growth, payouts)
    
        return coll
    

    calculate_value()函数传入公司的名称,然后从数据库中提取公司的财务数据用于计算股票估值。

    def correction_growth(self, growth):
        ''' 修正净利润同比增长率
        平均增长率 >= 40%, 修正为 40%
        平均增长率 >= 30%, 修正为 原来的80%
        平均增长率 < 0%, 修正为 0%
        其余情况,平均增增长率保持不变
    
        参数
        ----------
        growth :float
            平均增长率
    
        返回值 
        ----------
        float
            修正后净利润同比增长率
        '''
        if growth >= 0.4:  # 平均增长率 >= 40%
            return 0.4
        elif growth >= 0.3:  # 平均增长率 >= 30%
            return growth * 0.8
        elif growth < 0:  # 平均增长率 < 0%
            return 0
        else:
            return growth  
    

    correction_growth()函数修正平均净利润增增长率。对于一家公司来说,保持5年以上保持40%的同比增长率的可能性是很小的,因此对于平均增长率大于40%的改为40%;对于大于30%的,我们打8折;对于增长率为负数的,认为不增长;其余情况保持不变。
    流程图如下:

    >=0.4
    >=0.3 且 <0.4
    <0.3
    <0
    growth
    growth=0.4
    gowth*0.8
    growth
    growth=0
    修正growth

    这个项目的运行结果如下:
    为了避免推荐股票的嫌疑,我将公司名称用xxxx来替代。

    x:\test_python\财务报表
    +----------+----------+------+---------+---------+-------+------+----------+--------------+------------------+------------+
    | 公司名称 | 报告日期 | EPS  |   ROE   |   ROIC  |   PE  |  PB  | 合理股价 | 预期10年股价 | 净利润同比增长率 | 内生增长率 |
    +----------+----------+------+---------+---------+-------+------+----------+--------------+------------------+------------+
    | xxxxxxx | 2018年报 | 4.36 | 30.55 % | 22.12 % | 24.38 | 7.45 |  106.31  |    223.43    |     26.86 %      |  21.38 %   |
    | xxxxxxx | 2018年报 | 3.05 | 23.22 % | 16.91 % | 17.67 | 4.10 |  53.88   |    175.88    |     42.98 %      |  13.47 %   |
    | xxxxxxx | 2019年报 | 6.34 | 16.52 % | 14.92 % | 14.56 | 2.40 |  92.32   |    267.77    |     34.59 %      |  11.56 %   |
    | xxxxxxx | 2018年报 | 2.20 | 12.42 % | 11.84 % | 11.69 | 1.45 |  25.73   |    66.77     |     18.65 %      |   8.69 %   |
    | xxxxxxx | 2018年报 | 0.66 | 15.05 % | 14.75 % | 10.51 | 1.58 |   6.93   |    18.04     |     16.83 %      |   1.51 %   |
    +----------+----------+------+---------+---------+-------+------+----------+--------------+------------------+------------+
    写入 MongoDB 数据库完成!
    
    PS x:\程序开发\应用案例\股票估值案例>
    

    以上我只是选取了部分核心的模块和函数进行说明,其余的可以直接看程序的注释,如有不懂的欢迎评论,如有侵权联系立删。

    以上转载内容如下:

    1. 雪球作者:坤鹏论 链接:https://xueqiu.com/5992486099/140360538

    2. 雪球作者:坤鹏论
      链接:https://mp.weixin.qq.com/s?__biz=MzIyMzE3MzgxMw==&mid=2650996055&idx=1&sn=9fb5ef869e517c54d9be6011264135e5&chksm=f3d4108dc4a3999bdc181bd13e9d294a5c33fea440e079f65ad815d4692afa0bdadd3ee08467&scene=21#wechat_redirect

    3. 《聪明的投资者(第四版)》第七章

    展开全文
  • 基于直觉模糊集的模糊逼近理论,给出了将直觉模糊互补判断矩阵转换为模糊逼近矩阵的方法,提出了直觉模糊环境下的AHP方法(简记作IFAHP),并将其应用于投行股票估值模型选择问题,得到了股票估值模型中指标的优劣...
  • 股票估值模型及应用.zip
  • 股票估值模型及应用.ppt
  • 股票估值模型及应用 (2).zip
  • 股票估值模型及应用 (2).ppt
  • DCF和NPV、PE估值法、PB估值法、PEG估值法、EV/EBITDA估值... 1.DDM模型(Dividend discount model /股利折现模型) 2.DCF /Discount Cash Flow /折现现金流模型) (1)FCFE ( Free cash flow for the equity ...

    DCF和NPV、PE估值法、PB估值法、PEG估值法、EV/EBITDA估值...

    1.DDM模型(Dividend discount model /股利折现模型) 
    2.DCF /Discount Cash Flow /折现现金流模型) 
    (1)FCFE ( Free cash flow for the equity equity/股权自由现金流模型)模型 
    (2)FCFF模型( Free cash flow for the firm firm/公司自由现金流模型) 
    DDM模型 
    V代表普通股的内在价值,Dt为普通股第t期支付的股息或红利,r为贴现率 
    对股息增长率的不同假定,股息贴现模型可以分为 
    :零增长模型、不变增长模型(高顿增长模型)、二阶段股利增长模型(H模型)、三阶段股利增长模型和多元增长模型等形式。 
    最为基础的模型;红利折现是内在价值最严格的定义;DCF法大量借鉴了DDM的一些逻辑和计算方法(基于同样的假设/相同的限制)。 
    1. DDM DDM模型模型法(Dividend discount model / Dividend discountmodel / 股利折现模型股利折现模型) 
    DDM模型 
    2. DDM DDM模型的适用分红多且稳定的公司,非周期性行业; 
    3. DDM DDM模型的不适用分红很少或者不稳定公司,周期性行业; 
    DDM模型在大陆基本不适用; 
    大陆股市的行业结构及上市公司资金饥渴决定,分红比例不高,分红的比例与数量不具有稳定性,难以对股利增长率做出预测。 
    DCF 模型 
    2.DCF /Discount Cash Flow /折现现金流模型)DCF估值法为最严谨的对企业和股票估值的方法,原则上该模型适用于任何类型的公司。 
    自由现金流替代股利,更科学、不易受人为影响。 
    当全部股权自由现金流用于股息支付时,FCFE模型与DDM模型并无区别;但总体而言,股息不等同于股权自由现金流,时高时低,原因有四: 
    稳定性要求(不确定未来是否有能力支付高股息); 
    未来投资的需要(预计未来资本支出/融资的不便与昂贵); 
    税收因素(累进制的个人所得税较高时); 
    信号特征(股息上升/前景看好;股息下降/前景看淡) 
    DCF模型的优缺点 
    优点:比其他常用的建议评价模型涵盖更完整的评价模型,框架最严谨但相对较复杂的评价模型。需要的信息量更多,角度更全面,考虑公司发展的长期性。较为详细,预测时间较长,而且考虑较多的变数,如获利成长、资金成本等,能够提供适当思考的模型。 
    缺点:需要耗费较长的时间,须对公司的营运情形与产业特性有深入的了解。考量公司的未来获利、成长与风险的完整评价模型,但是其数据估算具有高度的主观性与不确定性。复杂的模型,可能因数据估算不易而无法采用,即使勉强进行估耍型中,也无法得到正确的结果。小变化在输入上可能导致大变化在公司的价值上。该模型的准确性受输入值的影响很大(可作敏感性分析补救)。 
    FCFE /FCFF模型区别 
    股权自由现金流司持续发展前提下的 cash flow for the film film ): 
    美国学者拉巴波特(Alfred Rappaport)20 世纪80年代提出了自由现金流概念:企业产生的、在满足了再投资需求之后剩余的、不影响公司持续发展前提下的、可供企业资本供应者企业资本供应者/各种利益要求人(股东、债各种利益要求人(股东、债权人)权人)分配的现金。 
    FCFF 模型要点 
    1.基准年公司自由现金流量的确定:基准年公司自由现金流量的确定: 
    2.第一阶段增长率第一阶段增长率g的预估的预估:(又可分为两阶段)又可分为两阶段) 
    3.折现折现率的确定的确定: 
    折现:苹果树的投资分析/评估自己加权平均资金成本(WACC) 。 
    4 .第二阶段自然增长率的确定: 
    5 .第二阶段剩余残值的资本化利率的计算: 
    WACC减去长期的通货膨胀率(CPI)。 
    公司自由现金流量的计算 
    根据自由现金鹆髁?
    = 经营活动产生的现金流量净额–资本性支出 
    = 经营活动产生的现金流量净额–(购建固定、无形和其他长期资产所支付典他长期资产而收回的现金净额) 
    资本性支出 
    资本性支出:用于购买固定资产(土地、厂房、设备)的投资、金交易的形式取得长期资产

    展开全文
  • 投行股票估值的Excel工作底稿,让你知道股票的真实价值
  • Nagios 系统监控实践,有需要的拿去吧
  • excel股票估值-公司估值模型.zip
  • 1、Escrowed分红模型,结果是最简单、最不准确的方式; 2、Chriss波动率调整模型,该模型除了替换当前股价外,还对波动率进行了调整; 3、Haug&Haug波动率调整模型; 比 Chriss 模型更复杂,并考虑了分红的时间; 4...
  • wind 估值模型

    2012-11-07 11:12:20
    wind 估值模型 股票估值模型 wind 估值模型 股票估值模型
  • 基于matlab的股票估价模型系统.doc 东海科学技术学院毕业论文(设计)题目基于MATLAB的股票估计模型系统系机电工程学生姓名专业班级指导教师起止日期3浙江海洋学院本科生毕业论文1基于MATLAB的股票估计模型系统方泽华...

    41528d3028836879cd698677c3999917.gif基于matlab的股票估价模型系统.doc

    东海科学技术学院毕业论文(设计)题目基于MATLAB的股票估计模型系统系机电工程学生姓名专业班级指导教师起止日期3浙江海洋学院本科生毕业论文1基于MATLAB的股票估计模型系统方泽华摘要改革开放以来,随着国内经济的飞速发展和人们的投资意识的转变,股票投资已经成为了现代人们各种投资种类之中的一个非常重要的组成部分,以至于股票的价格的预测逐渐成为了广大投资者越来越关心和研究的重点。本文根据当今股票市场的种种特点,例如股票的投资收益和风险往往是成正比的关系的。建立一个运算速度和精确度都较高的股票估价系统,对于股票投资者就尤为的重要了。在深度了解分析了股票市场的一些特点之后。在MATLAB的编程环境中建立股票估价的计算机模型系统。对于广大初次涉及股票市场的投资者以及缺乏相应的专业知识的股票投资者来说,本系统具有很好的投资指导作用。该系统根据对系统内部数据库中的大量的股票数据进行的分析以及归纳,找出股市发展的一些内在的规律,以及根据一系列的股票收益计算公式,可以对股票走势进行科学的分析判断。本文的在研究方法以及研究的内容方面较其他的估价系统具有一定的优势及特点。并且可以在使用者给定输入相应的股票参数的前提下,可以实现对单一股票的股价进行预估判断。同时通过系统可以实现对股票信息进行一定的有效分析,帮助投资者有效地了解市场行情,把握证券市场动态,从而起到指导证券投资者进行有效投资的目的。该系统界面采用MATLAB软件GUI用户界面开发设计,具有界面清晰,简单易用的特点。该软件对投资者做股票投资的决策具有一定的参考价值。浙江海洋学院本科生毕业论文2ABSTRACTSINCETHEREANDOPENPOLICY,ALONGWITHDOMESTICECONOMY SSWIFTDEVELOPMENTANDPEOPLE SINVESTMENTCONSCIOUSNESS STRANSATION,THESTOCKINVESTMENTHADALREADYBECOMEINAMODERNPEOPLEEACHKINDOFINVESTMENTTYPEVERYIMPORTANTCONSTITUENT,THESTOCKPRICE SFORECASTBECAMETHEGENERALINVESTORSTOCAREMOREANDMOREGRADUALLYWITHTHERESEARCHKEYPOINTTHISARTICLEACCORDINGTONOWSTOCKMARKET SALLSORTSOFCHARACTERISTICS,FOREXAMPLETHESTOCKINVESTMENTYIELDANDTHERISKAREOFTENPROPORTIONALRELATIONSESTABLISHESANOPERATINGSPEEDANDTHEPRECISIONHIGHSTOCKVALUATIONSYSTEM,ESPECIALLYWASIMPORTANTREGARDINGTHESTOCKINVESTORAFTERTHEDEPTHUNDERSTOODHASANALYZEDSTOCKMARKET SSOMECHARACTERISTICSESTABLISHESTHESTOCKVALUATIONINTHEMATLABPROGRAMMINGENVIRONMENTTHECOMPUTERMODULESYSTEMREGARDINGGENERALFIRSTINVOLVEDTHESTOCKINVESTORWHOSTOCKMARKET SINVESTORSASWELLASLACKEDTHECORRESPONDINGSPECIALIZEDKNOWLEDGE,THISSYSTEMHADTHEVERYGOODINVESTMENTINSTRUCTIONFUNCTIONTHISSYSTEMBASISTHEANALYSISWHICHASWELLASTHEINDUCTIONCARRIESONTOTHESYSTEMINTERIORDATABASE SMASSIVESTOCKDATA,DISCOVERSSOMEINTRINSICRULESWHICHTHESTOCKMARKETDEVELOPS,ASWELLASACCORDINGTOASERIESOFSTOCKINCOMEULA,MAYCARRYONTHESCIENCETOTHESTOCKTRENDTHEANALYSISJUDGMENTTHISARTICLECOMPARESOTHERESTIMATESYSTEMINTHERESEARCHTECHNIQUEASWELLASTHERESEARCHCONTENTASPECTTOHAVECERTAINSUPERIORITYANDTHECHARACTERISTICANDMAY,INTHEUSERASSIGNSTHECORRESPONDINGSTOCKPARAMETERUNDERTHEPREMISE,MAYREALIZETOTHESOLESTOCKSTOCKPRICECARRIESONTHEESTIMATEJUDGMENTMEANWHILEMAYREALIZETHROUGHTHESYSTEMTOTHESTOCKINATIONCARRIESONCERTAINEFFECTIVEANALYSIS,HELPSTHEINVESTORTOUNDERSTANDTHEMARKETQUOTATIONEFFECTIVELY,GRASPSTHESTOCKMARKETTENDENCY,THUSHASTHEINSTRUCTIONNEGOTIABLESECURITIESINVESTORTOCARRYONTHEEFFECTIVEINVESTMENTTHEGOALTHISSYSTEMCONTACTSURFACEUSESMATLABTHESOFTWAREGUIUSERINTERFACEDEVELOPMENTDESIGN,HASTHECONTACTSURFACETOBECLEAR,SIMPLEYIYONGCHARACTERISTICTHISSOFTWAREMAKESTHESTOCKINVESTMENTTOTHEINVESTORTHEDECISIONMAKINGTOHAVECERTAINREFERENCUE关键词MATLAB;股票估价;敏感性分析;计算机模型;投资软件浙江海洋学院本科生毕业论文3目录摘要1第一章引言411选题意义412研究现状5第二章MATLAB基本知识621MATLAB介绍及应用622MATLAB的应用范围723MATLAB软件特点724MATLAB软件优势8第三章系统可行性分析和设计原则1031技术可行性1032经济可行性1033设计原则11第四章系统实现平台GUI简介1241开发环境及实现技术平台1242开发环境GUI12421GUI简介12422GUI用户界面特点13423GUI用户界面包含图像对象13424实现方法15425GUI设计的一些基本原则及禁忌15第五章股票估价系统1651系统实现目标1652系统整体说明16521股票赢利说明16522股票几种盈利模型讨论1753系统数据库21浙江海洋学院本科生毕业论文4531数据库的构建21532数据源21523数据库表

    展开全文
  • 通证估值模型-费雪模型与净现值模型详解一、费雪模型,适合货币型通证1)公式:MV= PQM: 货币供应量V: 货币流通速度P:劳务平均价格V:劳务总数维基百科地址:Equation of exchange2)适用于此类模型的通证:比特币,...

    通证估值模型-费雪模型与净现值模型详解

    一、费雪模型,适合货币型通证

    1)公式:MV= PQ

    M: 货币供应量

    V: 货币流通速度

    P:劳务平均价格

    V:劳务总数

    维基百科地址:Equation of exchange

    2)适用于此类模型的通证:

    比特币,比特币现金,Zcash,Dash,Monero(门罗),Decred等实际上,以太坊,EOS,Dfinity等公链的基础交易媒介代币,由于其在生态内的基础货币地位,也有近似的估价模式。

    3)一般估值步骤:

    a. 给出使用该通证适用的市场容量预测

    比如目前大家倾向于认为比特币对标黄金,因此以8万亿美金作为总容量。

    b. 基于货币数量、流通速度,计算出货币价格

    比特币总数量2100万枚,目前美金的流转速度大概在5.5左右,假设以此作为比特币的流转速度,则其每一枚的价格可以算出大概是7万美金。

    以下讨论了几个上述模型可能有误的地方:

    1)模型认为所有比特币已经发行接近完成,且都加入流通。然而实际上可能有300-400万比特币可能已经永久丢失,因此实际可流通数量是原数量的4/5左右,导致币价可能还要提升25%。

    2)比特币可能并不是完全替代实体经济里黄金的作用,虚拟经济有可能数倍于目前的实体经济,所有 8万亿这个市场总容量,也是不精准的。

    3)流通速度没有数据,只是参考了美元,因此很可能不准确。

    4)延伸探讨:从投资的角度而言,投资者自然是希望价格能不断攀升。

    因此一般项目方会从以下几方面来考虑:

    a. 降低整体流通的数量,比如BNB/HT,不断通过回购/销毁流通代币的方式来提升单个币的价格预期。(短期有效)

    b. 降低流通的速度,比如steemitPower 转化为 steemit时,要分13周返回。(短期有效)

    c. 提升整体市场容量,比如各公链不断在培养DAPP生态,开发者社群。(长期有

    效)

    二、净现值模型(NPV)

    适合应用型通证(utility token)中的 工作型通证/付息型证券通证

    1) 公式:

    Ct = t时期的净现金流

    Co = 总初始投入

    r = 折现率t = 时期数

    橘喵哈希在其文章《区块链中Token的五种估值模型》中对于该方法各个参数做了更加细致专业的说明,推荐阅读。

    2)适用范围:

    它非常适合可以标准定价的服务,比如KYLE SAMANI在其blog 《new models for utility tokens》提出的几个关键应用:Keep(离链私人计算),Filecoin(分布式文件存储),Livepeer(分布式视频编码),Truebit(离链可验证计算)。

    这类应用基于服务提供者持有的代币数量占整体比例,来给予成正比的收益机会:持有的代币占比越多,获得下一份工作的可能性越大,因此获得收益的可能性越大。此类应用中,服务提供者提供的是类似于“带宽”,“计算能力”之类标准化服务,定价完全透明没有差异化,也不存在为了竞争机会而采取各类营销投入的动机。因此未来现金流较为可预期。

    另外,基于抵押获得可预期收益的通证也很适合此类,比如付息型证券通证。Kyle Samani认为针对服务非标化,价格不透明的服务,净现值模式则比较难应用,更适合的是 BME(burn-and-mint Equilibrium)的模式,但由于其目前还属于非常小众的阶段,且没有可通用的公式,我们暂不考虑。

    3)一般估值步骤:

    以8、9月很火的火牛钻为例:曾经火钻成本最低达到过0.1元/个,而每天分红是 0.01元/个。假设花0.1元买入1个火钻,并永远持有。

    a. 计算各个周期的净现金流每天0.01元,1年则是3.65元

    b.计算折现率

    按照市场5年国债利率5%来算无风险利率,作为折现率。这里我们可以按照永续年金来计算净现值,粗糙地把这个看作是年末支付收益,公式简化为(年收益/折现率),

    因此所以计算下来NPV=3.65/0.05 = 73 元。

    火牛本身的经济增长并不能支持这样高的分红率。

    大概在9月24日,火牛更改火钻的分红规则:由原来的1元/100火钻变为1元/100000火钻。基于此,我们可以算出净现值约为(0.0365/0.05)=0.73元。

    三、其他类型

    相对估值法:

    适合传统项目代币化的应用型Token(大部分币改项目适用),公式类似成熟股权估值里面的相对估值法:以法币计价的Token市值 = 同等法币计价的年净利润*PE.

    期权定价估值法:

    适合所有应用型Token和底层公链。中国人民数字货币研究所所长姚前提出此观点,他认为可以把Token的价值看作以项目未来价值为标的的资产的看涨期权,该方法适用于派息类/货币类Token,相对模型和公式都很复杂,推荐阅读参考文献#2了解更多.

    自由定价:适用于非标场景,通证所代表的价值没有既定的参照物。

    四、针对大部分通证都适用的J曲线原理

    私募股权领域的J曲线原理:该理论认为,价格将经历早期的高投机性(High DEUV),低效用性(Low CUV)阶段;然后是泡沫破裂,价值探底期;

    之后随着应用性增强,市场容量增大等,标的的效用性和未来期望值都不断提升,进入更长期的攀升阶段。

    可以参考数据如下:

    10月3日,美国缉毒局(DEA)特工Lilita Infante与福布斯分享了一个数据,比特币40亿美元的交易量中,10%涉及犯罪,90%为合法交易(比如,合法的金融投机);在2013年,90%都属于非法。

    由此可见,比特币的效用性正在逐步扩宽,和J曲线吻合。

    更详细的说明可查阅参考:

    忘记虚无缥缈的「共识价值」,让我们来谈谈加密货币的估值原理

    https://zhuanlan.zhihu.com/p/39158610

    可以用这个曲线来指导我们对于各类通证所处时期的判断,以及对应的操作行为。

    展开全文
  • 这是用于股票价格和债券利率的蒙特卡罗模拟的随机估值方法的集合。 这些模拟有助于对合成数据交易策略、资产配置方法、期权定价、波动率估算器等进行回测。 目前,实现的方法有: - 股票价格:布朗运动、几何布朗...
  • GGM模型又叫做“戈登增长模型”(Gordon Growth Model,GGM)是用于对公司进行估值的工具。该理论假设公司的内在价值就是将所有未来股息支付折现到今天的价值的总和。它也可以称为股息折扣模型。GGM模型的优点之一是它...
  • 不确定均值回归股票模型下的股票贷款估值
  • 如何利用Python实现自动化股票价值检测,完成对市场的精确定位和战略选择
  • DCF(Discounted Cash Flow)是现金流量贴现法的简称,该模型可以对股票进行估值。目前网上的大部分股票API都只提供了简单的日线行情,这对于分析股票的基本面是远远不够的,因此本文使用了Tushare的股票接口,该接口...
  • 财务估值建模

    2018-04-19 10:51:53
    品职财务估值建模课EXCEL模板,财务估值建模,财务估值建模,财务估值建模
  • 现金流贴现法估值模型

    千次阅读 2020-06-30 11:09:54
    作者:香帅 今天我要跟你讲的内容是怎么给股票估值,它的名字叫“绝对估值法”。 那么在讲课之前,我先跟你讲一下我这10年中经历的股票买卖的小故事。 第一个故事是关于谷歌。2003年的时候,我刚开始读金融硕士,我...
  • 了解全球资产估值、 估值方法深度...搭建的财务估值模型,以及关于传统估值体系的思考等(今年来强势的科技股,已经涨得大家怀疑传统的估值体系失效了$_$)。回到正题,本文隶属于《市盈率实战系列》。全系列一共八...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,076
精华内容 830
关键字:

股票估值模型

友情链接: Blinky.rar