我的Python心路历程 第十期 (10.12 股票实战可视化之分位数)
查了一下定义:分位数,亦称分位点。是指用分割点将一个随机变量的概率分布范围分为几个具有相同概率的连续区间。分割点的数量比划分出的区间少1,例如3个分割点能分出4个区间。 常用的有中位数、四分位数、十分位数、百分位数等。
总体视图代码如下:
top_tech_df.plot()
plt.title(u"总体视图")
plt.gcf().autofmt_xdate() # 自动旋转日期标记
plt.show()
运行效果图如下所示:
说白了就是将两个公司放在一起比较基准。
日差的直方图和散点图对比分析,代码如下:
#每日差距分析
top_tech_dr = top_tech_df.pct_change()
#print top_tech_dr.head()
sns.pairplot(top_tech_dr.dropna())
plt.show()
运行效果图如下所示:
假设goog和aapl的数据已有并完成adj close的提取,也就是从整理的top.csv中读取数据源,总体代码如下:
def operationQuantile(comName):
# 获取绝对路径,data为当前文件夹
curpath = os.path.join(os.path.dirname(__file__), 'data')
#定义top文件路径
topfile_path = os.path.join(curpath, 'top.csv')
# 获取数据from csv文件中 [Adj Close],
top_tech_df = pd.read_csv(topfile_path, index_col=0) #设置index_col可实现从列x开始读取,是为了避免下面的pct_change操作无法针对Date字段列
print top_tech_df.head()
top_tech_df.plot()
plt.title(u"总体视图")
plt.gcf().autofmt_xdate() # 自动旋转日期标记
plt.show()
#每日差距分析
top_tech_dr = top_tech_df.pct_change()
#print top_tech_dr.head()
# 散点图
sns.pairplot(top_tech_dr.dropna())
plt.show()
# 分位数,有95%的把握在这个区间里面,应用于风险评估
top_tech_dr[comName[0]].quantile(0.05)
return
https://blog.csdn.net/m0_47327165/article/details/112877442
其它细节可详见参考1。
1、 我的Python心路历程 第十期 (10.11 股票实战可视化风险评估操练)