R语言基础(3)

您所在的位置:网站首页 r语言导入时间序列数据 R语言基础(3)

R语言基础(3)

2024-05-28 09:29| 来源: 网络整理| 查看: 265

文章目录 quantmod包getSymbols()函数getSymbols()函数参数的特例 获取股票数据1. 股票日交易数据2. 各种指数的日数据3. 股息数据4. 除权除息数据5. 股票分割数据6. 期权交易数据 获取汇率数据获取重金属交易数据获取美联储经济数据Delt计算差值比例periodReturn计算期间收益从数据库获取数据获取上市公司的财务报表

quantmod包

quantmod包提供了量化投资分析的一体化解决方案,它能够帮助使用者完成提取数据、数据重整、金融建模、交易回测和模型可视化等诸多环节。

getSymbols()函数 安装和加载包 install.packages("quantmod") library(quantmod) 查看该函数的主要参数 > args(getSymbols) function (Symbols = NULL, env = parent.frame(), reload.Symbols = FALSE, verbose = FALSE, warnings = TRUE, src = "yahoo", symbol.lookup = TRUE, auto.assign = getOption("getSymbols.auto.assign", TRUE), ...)

对各项参数的解释 在这里插入图片描述

getSymbols()函数可以从网络上常用金融数据库中抓取金融数据,目前支持的数据库包括:yahoo、google、FRED、oanda。 从上面几个数据库中,我们可以获取上市公司的股票数据,包括股票日交易数据、股息数据、拆股数据、财务报表数据、期权列表数据;以及汇市数据、重金属交易数据以及美联储官网公布的若干经济数据(注:获取数据时可能会由于网络问题出现’服务器无响应’或’操作超时’的提示,特别是指定抓取数据的网址为’yahoo’时)。 getSymbols()函数参数的特例

getSymbols(‘AAPL’,src=’csv’) 目前尝试把csv文件放在其他目录会发生错误,虽然路径也改了

getSymblos.csv 会发生错误,以后再试试 - – getSymbols.FREDgetSymbols.googlegetSymbols.MySQLgetSymbols.oandagetSymbols.rdagetSymbols.yahoogetSymbols.yahoojsetSymbolLookup 交易数据获取与处理函数目的getDividends获取分红数据getSplits获取送股数据getFinancials获取财务报表getQuote获取实时股票数据getFX获取外汇数据getMetals获取金属价格数据adjustOHLC除权除息函数Delt计算两个序列对应数据差值比例finsPeaks找到某一序列最高值has.OHLOHLC.TransformationsOHLC对象数据的提取与变换options.expiryperiodReturn计算区间的收益adjustOHLC()除权、出息函数Next()、Lag()前置、后置函数,有可选项redenominate改变某一instrument的基础货币volep生成volumebar的端点(这对包含volume的时间序列数据)

specifyModel modelData getModelData builData buildModel fittedModel 等函数是一个系列

绘图函数及其附件chartSerieschart_SerieschartThemechob-classchobTA-classnewTAsetTATAzoomChartsaveChart 建模函数specifyModelbuildDatabuildModetradeModelfittedModemodelSignalmoldeDatagetModelDatais.quantmoddefaultscreat.bindinggetOptionChain 获取股票数据 1. 股票日交易数据 美股代码查询:美股列表上交所、深交所股票代码查询:股票代码查询一览表

代码中的’.ss’表示该公司的股票从属于上交所。类似地,可以获取上证A股指数(代码为 000002.ss)、上证B股指数(代码为000003.ss)、上证综合指数(代码为000008.ss)、沪深300指数(代码为 000300.ss)、深圳成指(代码为 399001.sz)等,需要获取深交所股票数据时,把’.ss’替换为’.sz’。

一个例子

# 查询微软公司的股票交易数据 > getSymbols("MSFT",src='yahoo') #google失效 [1] "MSFT" # 获取最近三天的交易数据 > tail(MSFT,3) MSFT.Open MSFT.High MSFT.Low MSFT.Close MSFT.Volume MSFT.Adjusted 2019-10-30 143.52 145.00 142.79 144.61 18471700 144.61 2019-10-31 144.90 144.93 142.99 143.37 2459620000 143.37 2019-11-01 144.26 144.42 142.97 143.72 33119200 143.72 >

getSymbols结果重命名

# 获取上交所基金科瑞(500056)的股票数据 > setSymbolLookup(JJKR=list(name="500056.SS",src="yahoo")) > getSymbols("JJKR") 2. 各种指数的日数据 # 获取上证指数的日数据(^SSEC) > getSymbols("^SSEC") > tail(SSEC,3) SSEC.Open SSEC.High SSEC.Low SSEC.Close SSEC.Volume SSEC.Adjusted 2017-08-24 3287.959 3297.989 3266.359 3271.512 163500 3271.512 2017-08-25 3271.461 3331.915 3271.461 3331.522 205800 3331.522 2019-11-01 2924.340 2959.833 2917.146 2958.199 3105835412 2958.199 > 3. 股息数据 # 获取微软公司的股息数据(只显示三条数据) > getDividends("MSFT") MSFT.div 2003-02-19 0.08 2003-10-15 0.16 2004-08-23 0.08 2004-11-15 3.08 2005-02-15 0.08 2005-05-16 0.08 2005-08-15 0.08 2005-11-15 0.08

接下来,我们根据股息调整股票价格,adjustOHLC函数可以对股票数据进行除息调整。

> getSymbols("MSFT", from="2010-01-01", src="yahoo") > tail(MSFT.a 4. 除权除息数据 # 获取苹果公司的除权股息数据 > getSplits("AAPL") AAPL.spl 1987-06-16 0.5000000 2000-06-21 0.5000000 2005-02-28 0.5000000 2014-06-09 0.1428571 5. 股票分割数据 > tail(getSplits("MSFT"),3) MSFT.spl 1998-02-23 0.5 1999-03-29 0.5 2003-02-18 0.5 6. 期权交易数据

利用**getOptionChain()**函数可以获取上市公司的期权交易数据 新浪财经50ETF期权行情接口 四种波动率

获取汇率数据

**getFX()**函数可以帮助我们从oanda获取汇率数据

# 获取美元与日元的汇率数据 > getFX("USD/JPY",from='2016-01-01') [1] "USDJPY" > tail(USDJPY,3) USD.JPY 2016-11-06 103.126 2016-11-07 104.312 2016-11-08 104.312 # 同样我们可以使用getSymbols函数来获取 > getSymbols("USD/JPY",src="oanda",from="2016-01-01") [1] "USDJPY" 获取重金属交易数据

**getMetals()**函数可以获取重金属的交易数据

> getMetals(c("gold","XPD"),from='2016-01-01') [1] "XAUUSD" "XPDUSD" > tail(c(XAUUSD,XPDUSD),3) XAU.USD 2016-11-07 653.402 2016-11-08 1288.540 2016-11-08 653.402 获取美联储经济数据 > getSymbols('CPIAUCNS',src='FRED') [1] "CPIAUCNS" > tail(CPIAUCNS,3) CPIAUCNS 2016-07-01 240.628 2016-08-01 240.849 2016-09-01 241.428 Delt计算差值比例 Stock.Open head(viewFin(AAPL.f),5) 2016-09-24 2015-09-26 2014-09-27 2013-09-28 Cash & Equivalents 11883 9731 3612 5554 Short Term Investments 46671 20481 11233 26287 Cash and Short Term Investments 67155 41601 25077 40546 Accounts Receivable - Trade, Net 15754 16849 17460 13102 Receivables - Other NA NA NA NA

上证50ETF期权隐含波动率 参考自: Quantmod Tutorial:数据获取(一) R量化交易工具篇—quantmod包的基本应用



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3