我的Python心路历程 第十期 (10.11 股票实战可视化风险评估操练)

我的Python心路历程 第十期 (10.11 股票实战可视化风险评估操练)

股票风向评估之前,需要先做两个准备工作:
一方面是抓取整理其中的几只数据,如下图所示:

另一方面是需要将数据进行一次转换,即求得每个公司的每日股票变化情况(daily-return)。如下所示:

    #每日差距分析    top_tech_dr = top_tech_df.pct_change()    print top_tech_dr.head()

DataFrame结构的top_tech_dr变量就是我们准备的进行风险分析数据。

1、我们首先来看一下这两家公司的股票价格走势:

    top_tech_df.plot()    plt.title(u"总体视图")    plt.gcf().autofmt_xdate()  # 自动旋转日期标记    plt.show()

其中,top_tech_df数据取自准备工作1的结果。效果图如下:

从上图可以看出,goog的走势明显优于aapl,多只一起看可以进行梯队划分。

下面两只看着有点同梯队的感觉吧!

2、我们可以通过散点图使用daily-return数据再次验证我们看出的这种现象:

从上面的图可以看出,散点图相对于上图来说比较宽,如果我们从中画一条线的话,很明显是不经过原点的;可以多比较几家看看差异。比如相似度高的两家是啥情况呢,如下所示:

3、使用seaborn库的pairplot()方法,从整体上看这2家公司的股票价格关系如下:

    sns.pairplot(top_tech_dr.dropna())    plt.show()

另外两家:

4、最后我们通过分位数的概念,来分析一下风险的情况。

    # 分位数,有95%的把握在这个区间里面,应用于风险评估    print "quantile="   str(top_tech_dr[comName[0]].quantile(0.05))

上图给quantile传入0.05,即我们有95%的信心对这只个股,我们买的话每天的亏损最大不超过2.5%。但是,这个值依赖于对周期的设定,比如1年、5年和10年的可能有所差异,仅供参考。

002238.SZ的分为数显示意思是说买的话每天的亏损最大不超过4.5%:

以上仅供参考和练习之用途,请勿对号入座。

来源:https://www.icode9.com/content-1-839851.html

(0)

相关推荐