MACD怎么用R语言编码有什么用

和Python计算环境中的tushare包一样在R中我們使用quantmod包接入第三方数据源,实现自定义量化分析平台的构建

本文打算以陌陌的股票分析为背景,介绍如何通过quantmod包构建专属的量化分析岼台

quantmod就是提供给宽客们使用的专业模块,Quantmod本身提供强大的数据接入能力默认是雅虎财经的数据源,此外quantmod还以绘制专业的行情分析图表鉯及各种技术指标计算等功能著称常常只要几行函数就能完成从数据获取和处理到画图的复杂功能,其工作效率之高让行家里手都觉得膛目结舌

首先,我们利用雅虎财经的默认接口直接体验一下读取多只股票

利用API读取的方式,我们需要设定一个读取序列和对应的配置获取行情函数getSymbols类似于原生的assignget函数,用函数的方式将变量名传入后完成变量的赋值

基于这个原理,我写了一个Quote函数来优化参数配置的體验首先我们需要定义一个股票池序列,然后调用Quote函数获取某只股票的行情返回数据

下面以美股的陌陌、360和A股的平安银行为例:

# 行情加载 速度有点慢,耐心等待

接着在离线模式或者网络访问缓慢的情况下,我们也可以用一些实现准备好的CSV文件来读取行情

分析底层数據结构后,我们知道quantmod包读取后的数据格式是 xts 和 zoo,我们只需要将csv文件按一定的格式读取到内存后再进行相应变换quantmod强大的分析和作图能力就可鉯为我们所用。

zoo本身是一种时间序列格式而xts则是在这基础上一种时间序列格式的加强版。在读取csv的时候我们需要用首行确定header。在转化為zoo时我们则需要首列来确定时间序列对应的时间。最后通过xts转化为可以被quantmod识别的xts时间序列对象下面以平安银行为例:

# 读取CSV并转化时间格式

,我们知道利用quantmodTTR包,我们可以快速计算常见指标下面是对应的计算列表。

威尔斯怀尔德移动方向指标

参考 Rich Harken大神 制作的 以及源码我们可以将上述参数暴露为网页上的选项,利用shiny的ajax和websocket的实时链接特性定制我们的chartSeries函数达到通过选项实时作图的功能。

# 为应用程序定义UI演示R包quantmod作图功能 # 为 quantmod 绘图功能提供参数入口的输入栏

综上所述,我们可以发现利用quantmod、shiny包,我们可以快速实现各种姿势的行情获取以及常見的关键指标的计算和绘制并且转化为实时的Web应用,建立一个专属的量化分析Web平台

作为分享主义者(sharism),本人所有互联网发布的图文均遵從CC版权转载请保留作者信息并注明作者 Harry Zhu 的 FinanceR 专栏:,如果涉及源代码请注明GitHub地址:微信号: harryzhustudio

选取一股票利用R语言进行分析,同时构建通道突破双均线交叉和MACD策略,进行回测

我要回帖

更多关于 编码有什么用 的文章

 

随机推荐