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

文章来源: 量化小课堂

市盈率(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')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2014-11-10 12:30:17 考虑到所持的民生银行仓位比例过高, 今天我卖出一小部分民生银行股票。 这是...
    喝杯好茶阅读 1,671评论 0 6
  • 著名财经杂志《财富》对本书的评论是:如果你一生只读一本关于投资的著作,无疑就是这本《聪明的投资者》。 首先介绍一下...
    惜她阅读 6,980评论 0 34
  • 三千世界风韵事,承许当人至善知。 君在心头历历在,流星闪电瞬现时。 默默厮守好因缘,阴阳正负ns极。 梦念君之体相...
    真如自在阅读 335评论 2 3
  • 时光摇曳在枝头 流水载着落红去了远方 我在河边等待,影子爬上了岸 风停在耳边 等待 像被关进密闭的牢笼 迷茫 不仅...
    北屿丿阅读 262评论 2 10
  • 只要做过网赚的朋友,我相信都应该知道的,并且很多人也通过各种平台赚了不少钱,如果你接触网赚的时间还比较迟,那么就已...
    7fc181b3a798阅读 184评论 0 0