創業板平均市盈率

import os
import pandas as pd

stock_code_list = []

for root,dirs,files in os.walk('stock data'):
    if files:
        for f in files:
            if '.csv' in f:
                stock_code_list.append(f.split('.csv')[0])

all_stock = pd.DataFrame()
for code in stock_code_list:
    if code[2]!='3':
        continue
    print(code)
    stock_data = pd.read_csv('stock data/'+code+'.csv',parse_dates=[1])
    stock_data = stock_data[stock_data['PE_TTM'].notnull()]#刪除PE_TTM爲空的行
    
    #PE_TTM = 總市值/淨利潤_TTM,這裏經過這個公式計算淨利潤_TTM
    stock_data['淨利潤']=stock_data['market_value']/stock_data['PE_TTM']
    #選取須要的字段,去除其餘不須要的字段
    stock_data = stock_data[['code','date','market_value','淨利潤']]
    #將該股票的合併
    all_stock = all_stock.append(stock_data,ignore_index=True)
#基於all_stock表格,經過groupby語句,計算創業板股票天天的平均市盈率
#經過groupby語句計算天天全部股票的市值之各、淨利潤之和,以及當天交易的股票的數量    
output  = all_stock.groupby('date')[['market_value','淨利潤']].sum()
output['股票數量'] = all_stock.groupby('date').size()
#平均市盈率=全部股票的市值之和/全部股票的淨利潤之和
output['創業板平均市盈率'] = output['market_value']/output['淨利潤']
#算好的數據輸出
output.to_csv('創業板平均市盈率.csv',encoding='gbk')
相關文章
相關標籤/搜索