Chapter 26 R Quantmod Package Tutorial & Translation
Jiashu Xia
From my other courses at Columbia, we have used the package Quantmod in R to access & analyze financial data. I found that this package was not only useful but also convenient in a sense that we do not have to go to other sources and load the data into R. The source that I found below introduces some basic applications and functions of Quantmod, which would be very helpful for those using R in the financial industry. I decided to do a translation of the blog so that it could benefit Chinese people who are not familiar with Quantmod or English.
Source: https://blog.quantinsti.com/a-guide-on-r-quantmod-package-how-to-get-started/
26.1 “R的quantmod软件包旨在帮助定量交易者开发,测试和部署基于统计交易的模型。”
这是一个快速的原型制作环境,发烧友可以轻松地探索各种技术指标。它提供了R中其他地方没有地制图工具。Quantmod软件包使建模更加容易,分析也变得简单。本文旨在使用样本市场数据介绍Quantmod一些功能。分三部分介绍了Quantmod地功能:下载数据,绘制图表,技术指标和其他功能。
事不迟疑,我们将看到quantmod软件包地用法。
26.1.1 下载资料
一旦安装了Quantmod软件包并加载了库,请运行以下命令以将Apple.Inc股票地数据获取到R控制台中。
## [1] "AAPL"
要查看数据的起点,请输入以下命令。
## AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
## 2007-01-03 3.081786 3.092143 2.925000 2.992857 1238319600 2.569716
## 2007-01-04 3.001786 3.069643 2.993571 3.059286 847260400 2.626754
## 2007-01-05 3.063214 3.078571 3.014286 3.037500 834741600 2.608047
## 2007-01-08 3.070000 3.090357 3.045714 3.052500 797106800 2.620926
## 2007-01-09 3.087500 3.320714 3.041071 3.306071 3349298400 2.838647
## 2007-01-10 3.383929 3.492857 3.337500 3.464286 2952880000 2.974493
26.1.2 可视化图表
Quantmod的优点在于它可以可视化图表。输入以下命令。
可以看到,x轴显示时间段,而y轴显示AAPL股票的价格范围。在上面的命令中,我们设置TA=“Null”。这意味着不包括任何“技术分析”参数。以下命令将生产与音量参数相同的图形。
该图形与上一个图之间的显著差异是AAPL的体积表示。其术语法旨在装饰图表外观。
我们将选择收盘价作为参考,并据此计算各种技术指标。以下命令选择苹果公司的收盘价。
绘制直方图很简单。
26.1.3 技术指标
同样,可以计算其他技术指标。以下是quantmod支持的技术指标列表。
addCMO # Add Chaiken Money Flow
addDEMA # Add Double Exponential Moving Average
addDPO # Add Detrended Price Oscillator
addEMA # Add Exponential Moving Average
addEnvelope # Add Price Envelope
addEVWMA # Add Exponential Volume Weigthed Moving Average
addMACD # Add Moving Average Convergence Divergence
addMomentum # Add Momentum
addROC # Add Rate of Change
addRSI # Add Relative Strength Indicator
addSAR # Add Parabolic Stop and Reverse
addSMA # Add Simple Moving Average
addSMI # Add Stocastic Momentum Index
addTRIX # Add Triple Smoothed Exponential Oscillator
addVo # Add Volume
addWMA # Add Weighted Moving Average
我们将看看quantmod的数据处理功能。前面我们看到下载的Apple数据具有以下结构。
## AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
## 2007-01-03 3.081786 3.092143 2.925000 2.992857 1238319600 2.569716
## 2007-01-04 3.001786 3.069643 2.993571 3.059286 847260400 2.626754
## 2007-01-05 3.063214 3.078571 3.014286 3.037500 834741600 2.608047
## 2007-01-08 3.070000 3.090357 3.045714 3.052500 797106800 2.620926
## 2007-01-09 3.087500 3.320714 3.041071 3.306071 3349298400 2.838647
## 2007-01-10 3.383929 3.492857 3.337500 3.464286 2952880000 2.974493
26.1.4 有用的功能
Quantmod提供了探索数据框特征的功能。以下命令显示保存苹果数据的对象类型是xts和zoo。
## [1] "xts" "zoo"
人们可能想探索提取的数据是否包含开盘价,交易量等。看一下以下命令。
## [1] TRUE
输出为TRUE,表示数据对象包含开盘,高,低,和收盘价。
has.Vo(AAPL) # Checks whether the data object has volume
seriesHi(AAPL) # To check the highest point of price.
Lag(Cl(AAPL)) #One period lag of the closing price
Next(OpCl(AAPL)) #The next periods open to close - today!
AAPL ['2007'] #Fetches all Apple’s 2007 OHLC
AAPL ['2008::'] # Apple data, from 2008 onward
dailyReturn(AAPL) # Returns by day
weeklyReturn(AAPL) # Returns by week
monthlyReturn(AAPL) # month, indexed by yearmon daily,weekly,monthly,quarterly, and yearly
allReturns(AAPL) # note the plural
26.1.5 下一步
如果您是新手,但不能掌握本文的所有技术知识,则不妨查看几篇文章,其中介绍了一些基本概念,例如在R中设计量化交易策略。您还可以看一下用R编码的交易策略的基本示例。