前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言股市可视化相关矩阵:最小生成树

R语言股市可视化相关矩阵:最小生成树

作者头像
拓端
发布2020-11-19 16:35:43
7150
发布2020-11-19 16:35:43
举报
文章被收录于专栏:拓端tecdat拓端tecdat

原文链接:http://tecdat.cn/?p=17835

本文在股市可视化中可视化相关矩阵 :最小生成树

在本文示例中,我将使用日数据和1分钟数据来可视化股票数据 。

我发现以下概念定义非常有用:

  • 连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。
  • 强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。
  • 连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种连通图叫做连通网。
  • 生成树:一个连通图的生成树是指一个连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边。一颗有n个顶点的生成树有且仅有n-1条边,如果生成树中再添加一条边,则必定成环。
  • 最小生成树:在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树。
代码语言:javascript
复制


#*****************************************************************
# 加载历史数据
#*****************************************************************








getSymbols(tickers, src = 'yahoo', from = '1970-01-01', env = data, auto.assign =


for(i in ls(data)) data[[i]] = adjustOHLC(data[[i]




# 删除历史数据很少的样本
remove.min.history(data)


# 显示已删除的
print(setdiff(tickers,names(data$prices)))
 
#*****************************************************************
# 可视化关联矩阵
#*****************************************************************
prices = data$prices


ret = diff(log(prices))
ret = last(ret, 252)


 plt(ret, 0.5)

接下来,让我们获取1分钟的收盘价数据,并基于最近5天可视化相关性:

代码语言:javascript
复制

#*****************************************************************
# 加载历史数据
#*****************************************************************




if(!file.exists(filename)) {




data1[[ticker]] = getSymbol.intraday.google(ticker,












#*****************************************************************
# 可视化关联矩阵
#*****************************************************************




print(join(c(




,format(range(index(ret)), '%d-%b-%Y %H-%M')), ' '))
 plot.cor(ret, 0.5)

辅助函数:

代码语言:javascript
复制

#*****************************************************************
#函数创建相关矩阵
#*****************************************************************
clncor = function(ret, threshold = 0.5) {
cor(coredata(ret), use='complete.obs',method='pearson')

cor_mat[ abs(cor_mat) < threshold] = 0






#*****************************************************************
# 绘制最小生成树
#*****************************************************************
plco = function(ho = 0.5) {
cor_mat = clean.cor(ret, threshold


 
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=17835
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档