第二题程序计算的结果不对 但是不知道具体是哪错了
来源:2-10 【作业】使用财务数据计算估值指标-简答题

慕娘2479997
2021-05-15
导入库
import pandas as pd
from jqdatasdk import (auth, get_price, get_query_count, get_fundamentals, query, valuation, indicator, income)
import datetime
auth(账号, 密码)
today = datetime.datetime.today()
获得股票价格和基本面
maotaiIndex = '600519.XSHG' # 茅台代码
maotaiPrice = get_price(maotaiIndex, end_date=today, frequency='daily', fields=['close'], count=1) # 获取当日收盘价格
maotaiFunds = get_fundamentals(query(valuation.code,
valuation.capitalization,
valuation.market_cap, # 市值
valuation.pe_ratio, # 市盈率
indicator.eps, # 每股净收益
income.net_profit # 净利润
).filter(valuation.code == maotaiIndex), date=today)
maotaiPrice:
close | |
---|---|
2021-05-14 | 2009.85 |
maotaiFuns:
code | capitalization | market_cap | pe_ratio | eps | net_profit | |
---|---|---|---|---|---|---|
0 | 600519.XSHG | 125619.7812 | 25247.6914 | 53.0882 | 11.1085 | 1.477203e+10 |
Question1: 计算市值并验证
maotaiValue = maotaiPrice.close.values[0] * maotaiFunds.capitalization.values[0] / 10000
print('Calculated Value:\t %f (亿)\nCorrect Value:\t\t %f (亿)'%(maotaiValue, maotaiFunds.iloc[0]['market_cap']))
Output:
Calculated Value: 25247.691724 (亿)
Correct Value: 25247.691400 (亿)
第一题应该计算的没什么问题 问题出在Question2
Question2: 计算市盈率并验证
maotaiREP1 = maotaiPrice.close.values[0] / maotaiFunds.eps.values[0] # 每股股价 / 每股收益
maotaiREP2 = maotaiValue * 100000000 / (maotaiFunds.net_profit.values[0]) # 市值 / 母公司净利润
print('maotaiREP1:\t %f\nmaotaiREP2:\t %f\nCorrect REP:\t %f'%(maotaiREP1, maotaiREP2, maotaiFunds.pe_ratio.values[0]))
Output:
maotaiREP1: 180.929018
maotaiREP2: 170.915514
Correct REP: 53.088200
两种方法计算的结果都与直接从jqdata里面获取的市盈率不匹配,不知道具体是哪错了。希望老师能看一下。谢谢!
写回答
1回答
-
慕娘2479997
提问者
2021-05-15
我自己知道了 直接传入某天日期获得的是季度数据
10
相似问题