R语言可以非常轻松的获得证券(股票、债券、基金、期货(黄金、原油等)、期权),指数、外汇和美联储提供的各种经济数据。我来详细说一下。
quantstrat包的金融数据很全
- yahoo提供的各种证券数据,股票、债券、基金、期货、期权、指数都有,非常全。你在雅虎财经页面上看见的我们都能拿到。缺点是咱们这边访问速度非常慢。
- Google也提供了相同的数据。但是2018年之后已经不能用了。看老资料的时候一定要注意。
- OANDA提供了180天的外汇数据。访问也不是速度的问题。你懂的。
- FRED是美联储提供的经济数据。利率、GDP、国债收益率之类的都在这里找。速度慢点,但是能用。
- Rdata文件。放什么随意,速度看你的硬盘速度。
- CSV文件
- MySql数据库
我们先载入quantstrat包
> library(quantstrat)
载入需要的程辑包:quantmod
载入需要的程辑包:xts
载入需要的程辑包:zoo
载入程辑包:‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
载入需要的程辑包:TTR
Version 0.4-0 included new data defaults. See ?getSymbols.
载入需要的程辑包:blotter
载入需要的程辑包:FinancialInstrument
载入需要的程辑包:PerformanceAnalytics
载入程辑包:‘PerformanceAnalytics’
The following object is masked from ‘package:graphics’:
legend
载入需要的程辑包:foreach
yahoo的证券数据
获取美股苹果公司股票数据
> getSymbols(
Symbols = "AAPL",
src = "yahoo",
from = "2018-01-01",
to = "2020-02-24",
index.class = "POSIXct"
)
[1] "AAPL"
主要参数:
- Symbols证券代码字符型向量
- scr数据源,字符型
- from开始日期,字符型
- to结束日期,字符型
- index.class索引类型,字符型
我们看一下股价数据和图表
> head(AAPL)
AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume AAPL.Adjusted
2018-01-02 170.16 172.30 169.26 172.26 25555900 166.8040
2018-01-03 172.53 174.55 171.96 172.23 29517900 166.7750
2018-01-04 172.54 173.47 172.08 173.03 22434600 167.5496
2018-01-05 173.44 175.37 173.05 175.00 23660000 169.4572
2018-01-08 174.35 175.61 173.93 174.35 20567800 168.8278
2018-01-09 174.55 175.06 173.41 174.33 21584000 168.8085
> chartSeries(AAPL)
获取工商银行A股和港股数据
> getSymbols(
+ Symbols = c("601398.SS","1398.HK"),
+ src = "yahoo",
+ from = "2018-01-01",
+ to = "2020-02-24",
+ index.class = "POSIXct"
+ )
[1] "601398.SS" "1398.HK"
> head(`601398.SS`)
601398.SS.Open 601398.SS.High 601398.SS.Low 601398.SS.Close 601398.SS.Volume 601398.SS.Adjusted
2018-01-02 6.19 6.39 6.11 6.18 537466207 5.667023
2018-01-03 6.18 6.32