专栏名称: 量化投资与机器学习
公众号主要介绍关于量化投资和机器学习的知识和应用。通过研报,论坛,博客,程序等途径全面的为大家带来知识食粮。版块语言分为:Python、Matlab、R,涉及领域有:量化投资、机器学习、深度学习、综合应用、干货分享等。
目录
相关文章推荐
宝玉xp  ·  回复@Orenoid:会的,但是不可控,Cu ... ·  昨天  
爱可可-爱生活  ·  【Illume:一款可编程的命令行程序,用于 ... ·  4 天前  
宝玉xp  ·  //@赏味不足://@赵脱俗:太好了//@凯 ... ·  4 天前  
宝玉xp  ·  //@高飞:人是瓶颈//@QuantumDr ... ·  5 天前  
爱可可-爱生活  ·  【lumen:一款AI驱动的命令行工具,帮你 ... ·  5 天前  
51好读  ›  专栏  ›  量化投资与机器学习

N-CryptoAsset投资组合 | 使用PCA识别高度相关的加密货币(最近听说某币很疯狂哦!)

量化投资与机器学习  · 公众号  · AI  · 2017-05-20 18:14

正文


编辑部

微信公众号

关键字全网搜索最新排名

『量化投资』:排名第一

『量       化』:排名第一

『机器学习』:排名第四


我们会再接再厉

成为全网优质的金融、技术类公众号


前言

在本文中,以每日加密货币价格时间序列为例,以选择其中一个加密货币,通过巧妙地合并,我们将创建一个可存储的(例如HDF5,CSV文件格式)和可重用的N-CryptoAsset投资组合的文件。接下来,对于任何手动定义的时间间隔,我们将应用主成分分析(PCA)去实现建立一些模型,最后基于几个主要组件的分析来识别高度相关的加密货币。

520

找个好人


Python中的

N-Cryptocurrency组合

考虑任何资产的单一(每日抽样)收盘价时间序列。 它有开始和结束日期。 如果我们使用的数据来源是直接通过交易所,每个交易日都有相应的收盘价。 与外汇货币不同,加密货币全年都可以全天候交易。 但是,请记住,每个单一的加密货币在市场上都有自己的“fist time”,因此历史价格系列的长度不一样。 幸运的是,Python和它的pandas可以让我们控制时间序列范围和进一步的过滤。 下面直接开始程序吧:


获取时间序列很容易。 创建投资组合需要更多的关注细节。 让我们把选择的加密货币相对应的代码列表(fsym)放在一起,让我们定义“versus”我们希望表达的全部货币(tsym):

由于交易中流动性很差,所以省略了USDT。


通过运行程序我们给定(fsym)代码列表(每日历史收盘价)创建N-CryptoAsset投资组合:


比特币(BTC)是所有加密货币的头一把交易。


由于我们的DataFrame(df)包含大量缺失值(NaN),所以从这一点来看,有多种可能性可以提取数据分析子集。 例如,如果您想创建一个子组合,比如df1,只能存储BTC,DASH和XMR,可以通过以下方式实现:


那些NaN可以分散注意力。 不好的做法是用固定值(例如零)替换它们,因为它引入了无效数据。 插值也是一个坏主意。 一个好的是根据选择的日期/时间间隔进行过滤,或强制所有的时间序列在同一天开始,数据可用于所有三个货币。 后者由pandas自动完成,如下所示:


在此选择2017年3月作为输入数据,所有21个加密时间序列将在以下内容中进行分析。



相关性基于PCA


相关矩阵:

PC loadings (columns,