R-金融数据分析


1.金融行情数据

传统故事交易图表(K线图等)

量化交易(量化投资等)

统计套利(套利策略、承兑交易、主成分分析法)

算法交易(被动型算法交易--减少滑价使用成交量加权平均价格和时间加权平均价格、主动型算法交易--实时策略判断)

高频交易(服务器群组)

2.前期准备-R软件

2.1 R中的部分网址

R官方网站网址:www.r-project.org/

R商业版本:www.revolutionanalytics.com/

Quantmod扩展包:www.quantmod.com/

R中其他与金融数据分析相关的包:mirrors.tuna.tsinghua.edu.cn/CRAN/

2.2安装quantmod包

#安装并加载Defaults、xts、zoo、TTR包,以zoo包为例

install.packages("zoo")

require("zoo")

#安装完上述四个包之后安装quantmod包

install.packages("quantmod")

require("quantmod")


3.函数

3.1 quantmod包中的函数

ETL类函数、分析类函数、展现类函数


常用数据类型


ETL类函数


3.2 数据源

Google Finance historical data

Google Finance balance sheets

Yahoo Finance historical data

www.oanda.com/

fred.stlouisfed.org/


3.3 其他工具

 RCurl

 RJSON

 RJSONIO

 XML

 Scraper

 WDI

 Tseries

 参考: www.dataguru.cn/article-1466-1.html

http://f.dataguru.cn/forum.php?mod=viewthread&tid=147799(f.dataguru.cn/forum.php)


3.4 getSymbols()函数

 获取上市公司股票的日交易数

> getSymbols("EDU",src="yahoo",from="2016-12-25",to="2017-01-24")

[1] "EDU"

Warning message:

In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m,  :

downloaded length 1225 != reported length 200

> EDU

雅虎股票日交易数据2016-12-25-2017-1-24

> new.environment<-new.env()

> getSymbols("AAPL",env=new.environment,src="yahoo",from="2016-12-25",to="2017-01-24")

[1] "AAPL"

Warning message:

In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m,  :

downloaded length 1395 != reported length 200

> ls(envir=new.environment)

[1] "AAPL"

> get("AAPL",envir=new.environment)

 获取各种指数的日数据

示例:获取护身300指数的日数据,代码为000300.ss,字母表示该指数从属于哪个交易所

getSymbols("000300.ss",env=new.environment,src="yahoo",from="2013-10-01",to="2013-10-23")

ls(envir=new.environment)

get("000300.ss",envir=new.environment)

3.5 getFX()函数

 从oanda上获取汇率

>new.environment=new.env()

> getFX("HKD/USD",from="2017-01-10",env=new.environment)

[1] "HKDUSD"

> get("HKDUSD",envir=new.environment)


汇率

3.6 getFianacials()函数

 从Google Finance上下载财务报表,其中包括income statement(IS), Balance Sheet(BS)和Cash Flow Statement(CF)

getFinancials("AAPL")

viewFinancials(AAPL.f)

getFinancials("AAPL",verbose=TRUE)

viewFinancials(AAPL.f)

viewFinancials(AAPL.f,c("CF","IS","BS"),"Q")


3.6 getDividends()函数

 从Yahoo! Finance上下载股息数据

getDividends("AAPL",from="2016-12-25",to="2017-01-24",env=new.environment,verbose=TRUE)


3.7 分析类函数

3.7.1 is族函数

判断数据类型

is.OHLC()

is.OHLCV()

is.BBO()

is.TBBO()

is.HLC()

示例


3.7.4  has族函数

检查数据里面是否包含某类型的数据

has.OHLC()

has.HLC()

has.OHLCV()

has.Op()

has.Hi()

has.Lo()

has.Cl()

has.Vo()

has.Ad()

has.Ask()

has.Bid()

has.Price()

has.Qty()

has.Trade()

示例


 列名函数

提取数据类型

Op()

Hi()

Lo()

Cl()

Vo()

Ad()

HLC()

OHLC()

示例



 计算函数

 Delt() 计算变化率

 Lag() 求滞后k期

 Next() 求k个后

 first() 求前k个

 last() 求后k个

 findPeaks() 找出峰值

 findValleys() 找出谷值

 seriesIncr() 差分后大于限值的点

 seriesDecr() 差分后小于限值的点

 endpoints() 寻找节点

 to.weekly() 将OHLC数据转化为周数据

 to.monthly() 将PHLC数据转化为月数据

 periodicity() 返回数据的日期范围


参考:[1]《金融数据分析导论:基于R语言》习题答案第一章blog.csdn.net/luciaxll/article/details/47295793




附录


#安装并加载Defaults、xts、zoo、TTR包,以zoo包为例

install.packages("zoo")

require("zoo")

install.packages("xts")

require("xts")

install.packages("TTR")

require("TTR")

install.packages("Defaults")

require("Defaults")

#安装完上述四个包之后安装quantmod包

install.packages("quantmod")

require("quantmod")

#获取上市公司股票的日交易数

getSymbols("EDU",src="yahoo",from="2016-12-25",to="2017-01-24")

EDU

new.environment<-new.env()

getSymbols("AAPL",env=new.environment,src="yahoo",from="2016-12-25",to="2017-01-24")

ls(envir=new.environment)

get("AAPL",envir=new.environment)

#获取各种指数的日数据

getSymbols("000300.ss",env=new.environment,src="yahoo",from="2013-10-01",to="2013-10-23")

ls(envir=new.environment)

get("000300.ss",envir=new.environment)

#从oanda上获取汇率

new.environment=new.env()

getFX("HKD/USD",from="2017-01-10",env=new.environment)

get("HKDUSD",envir=new.environment)

#从Google Finance上下载财务报表

getFinancials("AAPL")

viewFinancials(AAPL.f)

getFinancials("AAPL",verbose=TRUE)

viewFinancials(AAPL.f)

viewFinancials(AAPL.f,c("CF","IS","BS"),"Q")

#从Yahoo! Finance上下载股息数据

getDividends("AAPL",from="2016-12-25",to="2017-01-24",env=new.environment,verbose=TRUE)

#判断数据类型

getSymbols("AAPL",env=new.environment,src="yahoo",from="2013-10-01",to="2013-10-23")

is.OHLC(AAPL)

is.OHLCV(AAPL)

is.BBO(AAPL)

is.TBBO(AAPL)

is.HLC(AAPL)

#检查数据里面包含某种数据类型

has.OHLC(AAPL)

has.OHLC(AAPL,which=FALSE)

has.OHLC(AAPL,which=TRUE)

AAPL

#提取数据类型

Op(AAPL)

OHLC(AAPL)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,600评论 18 139
  • 2017年11月2日,特邀嘉宾王淑君老师做客三小家庭教育公益讲座,给我们带来了一场育儿盛宴。 下面是这次互动实录的...
    靳志勇阅读 1,030评论 0 3
  • 并非偶然想起是我时常惦记,同学们你们还好吗? 我并不知道,好多同学都好少联系甚至断了联系。 也是不知道从何时开始,...
    墨存啊阅读 457评论 0 2
  • 那些年的青春校园电影,不知道你看过多少。 怦然心动,豆瓣评分8.9,讲述了邻家女孩对男主一见钟情,男...
    ad41af5044a9阅读 391评论 0 1