本系列通过一些实例介绍量化的入门知识,适合零基础的初学者。本篇计算三个宽基指数:沪深300、中证500、中证1000的估值百分位,并将其与价格百分位比较。
本文的程序运行前要先导入数据源和pandas库:
import akshare as ak # 导入数据源
import pandas as pd # 导入pandas库
pandas的数据分析功能非常强大,在量化分析中会经常用到,要熟悉掌握。
从上一篇《量化入门系列:四行代码实现A股的估值温度计》可以总结出,此类量化分析通常分为三个步骤:
第一步打开冰箱,不是,第一步是获取数据;
第二步是处理数据;
第三步是输出结果。
我们先来计算沪深300的估值百分位,估值百分位是指当前估值在历史上的百分位数。然后我们将估值和价格进行对比。在集思录上是将估值百分位数和指数的价格曲线直接对比,像这样:
橘色线是PE估值百分位,蓝色线是中证全指的价格曲线。本文为了更直观的体现对比差异,不直接采用指数的价格曲线,而是用指数的价格百分位,价格百分位是指当前价格在历史上的百分位。
hs300_pe_df = ak.stock_a_pe(market="000300.XSHG").iloc[-1708:] # 获取沪深300的PE和收盘价数据
hs300_pe_pct = hs300_pe_df[['middlePETTM','close']].ra