美文网首页
量化投资学习之【4】计算创业板平均市盈率

量化投资学习之【4】计算创业板平均市盈率

作者: 夜雨寒山 | 来源:发表于2017-11-08 20:23 被阅读0次

    文章来源: 量化小课堂

    市盈率(Price Earning Ratio),英文缩写为PE或P/E Ratio,指在一个考察期(通常为12个月的时间)内,股票的价格和每股收益的比例。

    市盈率计算方法:

      市盈率=普通股每股市场价格 / 普通股每年每股盈利
    

    每股盈利的计算方法,是该企业在过去12个月的净收入除以总发行已售出股数。市盈率越低,代表投资者能够以较低价格购入股票以取得回报。假设某股票的市价为24元,而过去12个月的每股盈利为3元,则市盈率为24/3=8。该股票被视为有8倍的市盈率,即每付出8元可分享1元的盈利。投资者计算市盈率,主要用来比较不同股票的价值。理论上,股票的市盈率愈低,愈值得投资。比较不同行业、不同国家、不同时段的市盈率是不大可靠的。比较同类股票的市盈率较有实用价值。

    一般来说,市盈率水平为:

    0--13:即价值被低估

    14--20:即正常水平

    21--28:即价值被高估

    28+:反映股市出现投机性泡沫

    附上代码

    #coding:utf-8
    
    import os
    import pandas as pd
    
    stock_code_list = []
    for root, dirs, files in os.walk('./all_trading_data/stock data/'):
        if files:  #存在
            for f in files:
                if '.csv' in file:
                    stock_code_list.append(f.split('.csv')[0])
    
    for code in stock_code_list:
        if code[2] != '3':
            continue
        stock_data = pd.read_csv('/all_trading_data/stock data/' + code + '.csv',\
            parse_dates =[1])
        stock_data= stock_data[stock_data['PE_TTM'].notnull()]
        # 净利润 由 市值/PE_TTM 得到
        stock_data['net profit'] = stock_data['market_value'] / stock_data['PE_TTM']
        stock_data = stock_data[['code', 'date', 'market_value', 'net profit']]
        all_stock = all_stock.append(stock_data, ignore_index =True)
    
    
    output['stock num'] = all_stock.groubpy('date').size()
    output['ave PE'] = output['market_value'] / output['net profit']
    #保存到csv文件
    output.to_csv('创业板平均市盈率.csv', encoding='gbk')
    

    相关文章

      网友评论

          本文标题:量化投资学习之【4】计算创业板平均市盈率

          本文链接:https://www.haomeiwen.com/subject/ykzymxtx.html