Py学习  »  Python

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

Python中文社区 • 4 年前 • 651 次点击  



作者简介:OverSix_野马,一个对量化投资、数据分析、另类数据充满兴趣浓厚的野生程序员。

近期,国际金价持续创新高,也激发了很多人黄金投资的热情。目前国内黄金市场存在实物黄金、纸黄金、黄金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)获取股票代码。

通过本次结果显示,目前获取了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中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。


▼ 点击成为社区注册会员          「在看」一下,一起PY!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39440
 
651 次点击