用 R 进行高频金融数据分析简介
作者:李洪成
摘自:http://cos.name/wp-content/uploads/2013/11/ChinaR2013SH_Nov03_04_LiHongcheng.pdf
高频数据
- 金融市场中,逐笔交易数据(transaction by transaction data) 或逐秒记录数据 (tick by tick data) 被称为高频数据。纽约股票交易所的交易行情数据库包含了综合磁带系统报告的所有证券的交易和报价记录(Trades and Quotes- NYSE TAQ), 另外WRDS TAQ, Reuters, Bloomberg等。
高频数据的特点
- 数据量大:一只股票一天中可以有几百万条交易
- 交易间的时间间隔是不规则的,不是等间隔
- 保存的数据由于多种原因会包含错误
- 不正确的交易量
- 失时效的价格
- 一秒钟的多重交易
- 不准确的时间 (innaccurate times)

- 股票买卖报价的动态性
- 市场的流动性
- 算法交易
- 收益的实际波动率
Data Structure of Trade data
- PRICE 交易价格
- SIZE 交易股数
- COND: 交易条件代码
- CORR: 修改标识, 交易为正常即没有经 过校正、修改或者被标记为取消
- G127 Combined "G", Rule 127, and stopped stock trade

Data Structure of Quote data
- BID:卖价
- BIDSIZ:卖出量,以100股为单位
- OFR:买价
- OFRSIZ:买入量
- MODE:报价条件标识

R的高频数据分析包
- R中针对高频数据的添加包:highfrequency
- 该包最新版本为0.2,基于R 2.12.0或者更高 版本,依赖于 xts, zoo两个包。
- RTAQ (Cornelissen and Boudt 2012 ) TradeAnalytics project
- realized (Payseur 2008)
highfrequency是另外两个已有R包的更新版 - 两个都被移除了
Highfrequency主要功能
- 组织高频数据
- 高频数据的清理、整理
- 高频数据的汇总
- 高频数据的相关模型:
- 波动率模型
- 流动性
三类高频数据
- NYSE TAQ数据库中的 .txt文件
- WRDS数据库中的 .csv文件
- Tickdata.com的.asc文件
- 函数convert()可以把上述三类数据转换为xts对象
convert(
from,
to,
datasource,
datadestination,
trades=TRUE,
quotes=FALSE,
ticker=c("AA","AAPL"),
dir=TRUE,
extension="txt",
header=FALSE,
tradecolnames=NULL,
quotecolnames=NULL,
format="%Y%m%d%H:%M:%S");
- 函数TAQLoad把数据载入 R 中

高频数据的处理

等间隔数据、数据同步
- aggregatets(data,on="minutes",k=1)
- refreshTime(list(stock1,stock2))
Realized volatility measures

波动率预测
- HAR-模型 Heterogeneous Autoregressive
- 它实现了三种类型的HAR模型
- HAR-RV:
- HAR-RV-J:
- HAR-RV-CJ:Jump + Continuous Sample path Component Variation
harModel(
data,
periods = c(1, 5, 22),
periodsJ = c(1,5,22),
leverage=NULL,
RVest = c("rCov", "rBPCov"),
type = "HARRV",
jumptest = "ABDJumptest",
alpha = 0.05,
h = 1,
transform = NULL, ...)
HAR-RV: Dow Jones Industrial Average in 2008

用 R 进行高频金融数据分析简介的更多相关文章
- 【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数
更多精彩内容,欢迎关注公众号:数量技术宅.探讨数据分析.量化投资问题,请加技术宅微信:sljsz01 投资股票指数相比个股的优势 我们在投资股票的时候,如果持仓集中在一只或者有限几只股票上,恰好不幸遇 ...
- Python 金融数据分析库及相关框架
BackTest框架库: PyAlgoTrade ZipLine 金融数据分析库: pandas
- R语言实现金融数据的时间序列分析及建模
R语言实现金融数据的时间序列分析及建模 一 移动平均 移动平均能消除数据中的季节变动和不规则变动.若序列中存在周期变动,则通常以周期为移动平均项数.移动平均法可以通过数据显示出数据长期趋势的变动 ...
- R语言数据处理利器——dplyr简介
dplyr是由Hadley Wickham主持开发和维护的一个主要针对数据框快速计算.整合的函数包,同时提供一些常用函数的高速写法以及几个开源数据库的连接.此包是plyr包的深化功能包,其名字中的字母 ...
- Python数据分析简介
1,Python作为一门编程语言开发效率快,运行效率被人诟病,但是Python核心部分使用c/c++等更高效的语言来编写的还有强大的numpy, padnas, matplotlib,scipy库等应 ...
- R vs Python,数据分析中谁与争锋?
R和Python两者谁更适合数据分析领域?在某些特定情况下谁会更有优势?还是一个天生在各方面都比另一个更好? 当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这 ...
- 初次用R的实际案例数据分析
这是一次教授布置的期末作业,也是书籍<商务数据分析与应用>的一个课后作业 目录 数据描述 数据预处理 描述性统计分析 模型分析(方差分析) 数据描述 非学位职业培训机构的178个学员的数据 ...
- 金融数据分析还能这样做?快试试这个BI工具小白也能学会!
说起银行.保险.股票投资等这些金融行业,大多数人都认为它们都是依靠数据驱动的企业,毕竟大数据的诞生本来就是为了金融信息流通而服务的,但是事实真的是这样吗? 事实并非如此,真正在金融行业做数据分析的人, ...
- R语言统计学习-1简介
一. 统计学习概述 统计学习是指一组用于理解数据和建模的工具集.这些工具可分为有监督或无监督.1.监督学习:用于根据一个或多个输入预测或估计输出.常用于商业.医学.天体物理学和公共政策等领域.2.无监 ...
随机推荐
- 解决git无法clone提示443以及配置git代理方法
git config --global http.proxy 'socks5://127.0.0.1:1080' 设置完成之后再次clone就会成功了(当然前提是你有s's而且在开启的前提下)
- 我的新博客:www.wangyufeng.org
新博客:www.wangyufeng.org 博客园的博客不更新啦.
- EF外键关联
客户里面存在客服外键 基类模型 public class ModelBase { public ModelBase() { CreateTime = DateTime.Now; } [Key] pub ...
- struts2配置文件中Action中的各属性的含义
StrutsApacheBeanJSPServlet attribute: 这个属性用来指定ActionForm保存到指定上下文时所使用的属性名.如果不指定attribute属性的值,将使用 ...
- poj 1384 Piggy-Bank(完全背包)
Piggy-Bank Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10830 Accepted: 5275 Descr ...
- 你不知道的函数节流,提高你的JS性能!
浏览器的DOM计算处理非常耗费CPU时间,霸占内存,这对我们的开发来说是非常不友好的,,比如IE浏览器的onresize事件就可能在用户稍微拖动一下窗口时计算上千次,甚至更高频率直接让浏览器崩溃... ...
- Visio 2007中进行数据库建模时如何显示字段类型以及概念名称
关于在VISIO中进行数据库建模时如何显示字段类型,以及注释的 1 如何显示字段类型: 在visio菜单上--->点击数据库--->选项--->文档 打开后选择表这项,在上 ...
- memcached+magent实现memcached集群
首先说明下memcached存在如下问题 本身没有内置分布式功能,无法实现使用多台Memcache服务器来存储不同的数据,最大程度的使用相同的资源:无法同步数据,容易造成单点故障.(memagent代 ...
- 【随笔】Linux服务器备份相关
服务器数据的安全性一直都是服务器日常管理的重中之重.Linux服务器虚拟化虽然以其高度可靠的作业系统而闻名,不过系统失效仍然可能发生.可能因为硬体故障,电源中断,或其他不可预料的问题.更常见的这 些问 ...
- mysql 锁优化
一.myisam存储引擎锁优化 1.合理理由读写优先级MyISAM 的表锁,写互相阻塞的表锁,默认系统是写优先,可改为读有先:low_priority_updates=1如果我们的系统是一个以读为主, ...