Python黄金相关性市场探析——如何利用相关性寻找最佳建仓时机!

近期,国际金价持续创新高,也激发了很多人黄金投资的热情。目前国内黄金市场存在实物黄金、纸黄金、黄金T+D、黄金期货、黄金ETF、黄金股、现货黄金等品种,交易规则错综复杂,不仅要判断对趋势,还要为爆仓、延期费、黑平台等各种意料之外的规则交学费。为了找到一款适合自己的投资品种(不用担心爆仓、不用担心延期费、不用担心被平台黑、收益不至于那么低,适合长期持有的)。笔者决定用尝试用Python在A股市场里寻找跟黄金走势最相关的交易品种。一、准备工作编程环境:建议安装Anaconda(https://www.anaconda.com/distribution/),一次安装包括了Python环境和全部依赖包,减少问题出现的几率。第三方库:Tushare。安装方法:Anaconda Prompt里直接输入 pip install tushare。二、数据获取1.券商公司获取。一些券商开通了试用版的接口,可以直接调用。2.网络量化交易平台获取。某些在线量化交易平台也可以直接调用,编程也相对简单。3.网络爬虫获取。通过爬取某些财经网站的历史数据,间接获取。4.Tushare直接获取。通过一个免费、开源的python财经数据接口包Tushare获取。优点多多,免费、简单,一条语句搞定。本次数据获取主要采取这种方式。数据采集步骤:首先获取所有股票代码,然后获取每只股票的日收盘价。(1)获取股票代码。

Python资源共享群:626017123

 

 

通过本次结果显示,目前获取了3000余只股票当日的详细信息,当然我们想要的只有“code”这一栏。

 

 

 

(2)获取黄金ETF以及每只股票收盘价

黄金价格的获取,为方便计算,本次用黄金ETF(518880)的日收盘价代替。Tushare提供了3000余只股票代码,通过循环,获取2013年至今每只股票收盘价可是个大工程,这个时候,终于体会到大数据的用处了。

 

 

 

通过结果显示,数据长度还是比较乱,科创板等新上市的股票只有几天数据,这也给后续计算相关性出了个难题——非等长数据相关性如何度量?

 

 

 

三、计算相关性,寻找最相关的两只股票

相关性度量是一个相对复杂的数学问题,本次只做框架式搭建,具体优化算法,日后作更深入的探究。本次为方便计算,直接调用corr函数处理。

 

 

 

结果显示,2013年至今,并不存在跟黄金高度相关的股票,最相关的两只股票分别为中顺洁柔(002511)、千禾味业(603027),相关系数分别为0.764和0.741。

 

 

 

四、结果分析(1)通过本次结果显示,并没有预期的与黄金高度相关的股票,直观感觉与黄金较相关的山东黄金(600547)的相关系数为0.582。

 

 

 

(2)本文只作为量化分析的初步探索,至于如何运用到自己的投资策略中,有待进一步探索。在本次实验中,也还存在很多问题,比如,缺失数据补齐方式、相关性度量方法、数据长度选取等,有兴趣的读者可以进一步探索。后记:如何通过相关性分析寻找建仓时机大家都有直观的感觉,黄金和白银存在某种相关关系,当金银比扩大时,黄金和白银,不是有一方被高估,就是有一方被低估。比如,在2019年7月12日,金银比达到近期的高点,但白银价格还处于相对低位,出现一个很好的买入时机。

 

 

 

 

 

 

至于如何运用相关分析,从A股市场寻找到适合自己风格建仓的时机。鉴于本文还是偏向于量化分析程序化入门的探索,投资心得、量化策略等问题欢迎探讨。

你可能感兴趣的:(Python)