1. R语言怎么把股票日收盘价转换成对数收益率
知道一系列收盘价向量X,length=1000,求对数收益率的R语言代码
acf(int[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
log return')
Box.test(int[,2], lag = 5, type = "Ljung-Box")
Box.test(int[,2], lag = 10, type = "Ljung-Box")
Box.test(int.l[,2], lag = 5, type = "Ljung-Box")
Box.test(int.l[,2], lag = 10, type = "Ljung-Box")
运行结错误办
> int <- read.table("d-intc7208.txt", head=T)
错误于file(file, "rt") : 打链结
外: 警告信息:
In file(file, "rt") :
打文件'd-intc7208.txt': No such file or directory
+ acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
错误: 意外符号 in:
"
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int"
> log return')
错误: 意外符号 in "log return"
2. 如何用R语言绘制散点图(数据分组展示)并同时添加全数据的线性和指数两条拟合线
用R作图,比用EXCEL要灵活的多。
散点图,直接用plot()即可
多类别,在R中就是多变量,用pionts() 加类别
拟合曲线用 fit<- lm()
lines(fit)
添加文字用 text()
3. 2020-03-28 线性时间序列模型
课程采用模蠢Ruey S. Tsay的《金融数据分析导论:基于R语言》(Tsay 2013 ) (An Introction to Analysis of Financial Data with R)作为主要教材之一。
时间序列的线性模型,包括:
股价序列呈现缓慢的、非或尺单调的上升趋势, 局部又有短暂的波动。
可口可乐公司每季度发布的每股盈利数据。 读入:
时间序列图:
序列仍体现出缓慢的、非单调的上升趋势,又有明显的每年的周期变化(称为季节性), 还有短期的波动。
下面用基本R的 plot() 作图并用不同颜色标出不同季节。
现在可以看出,每年一般冬季和春季最低, 夏季最高,秋季介于夏季和冬季之间。
收益率在0上下波动,除了个别时候基本在某个波动范围之内。
用xts包的 plot() 函数作图:
聚焦到2004年的数据:
红色是6月期国债利率, 黑色是3月期国债。 一般6月期高, 但是有些时期3月期超过了6月期,如1980年:
如图标普500月收益率那样的收益率数据基本呈现出在一个水平线(一般是0)上下波动, 且波动范围基本不变。 这样的表现是时间序列“弱平稳序列”的表现。
弱平稳需要一阶矩和二阶矩有限。某些分布是没有有限的二阶矩的,比如柯西分布, 这样的分布就不适用传统的线性时间序列理论。
稍后给出弱平稳的理论定义。
如图2可口可乐季度盈利这样的价格序列则呈现出水平的上下起伏, 如果分成几段平均的话, 各段的平均值差距较大。 这体现出非平稳的特性。
以下为一堆公式推导,具体查看: http://www.math.pku.e.cn/teachers/lidf/course/fts/ftsnotes/html/_ftsnotes/fts-tslin.html#fig:tslin-intro-sp02
时间序列
自协方差函数
弱平稳序列
图6 是IBM股票月度简单收益率对标普500收益率的散点图。 从图中看出, 两者有明显的正向相关关系。
对于不独立的样本, 比如时间序列样本, 也可以计算相关系数, 其估计合理性需要一些模型假设。
对于联合分布非正态的情况, 有时相关系数不能很好地反映X和Y的正向或者负向的相关。 斯皮尔曼(Spearman)相关系数是计算X的样本的秩(名次)与Y的样本的秩之间的相关系数, 也称为Spearman rank correlation。
另一种常用的非参数相关系数是肯德尔tau(Kendall’s )系数, 反映了一致数对和非一致数对之间的差别。
即两个观测的分量次序一致的概率减去分量次序相反的概率。 一致的概率越大,说明两个的正向相关性越强。
对IBM收益率与标普收益率数据计算这三种相关系数:
自相关函旦团陪数 (Autocorrelation function, ACF)参见 (何书元 2003 ) P.131 §4.2的例2.1。 原始文献: MAURICE STEVENSON BARTLETT, On the Theoretical Specification and Sampling Properties of Auto-Correlated Time Series, Journal of the Royal Statistical Society (Supplement) 8 (1946), pp. 24-41.
在基本R软件中, acf(x) 可以估计时间序列 x 的自相关函数并对其前面若干项画图。
例:CRSP的第10分位组合的月对数收益率, 1967-1到2009-12。 第10分位组合是NYSE、AMEX、NASDAQ市值最小的10%股票组成的投资组合, 每年都重新调整。
图6: CRSP第10分位组合月对数收益率
用 acf() 作时间序列的自相关函数图:
acf() 的返回值是一个列表,其中 lag 相当于, acf 相当于。 用 plot=FALSE 取消默认的图形输出。
有研究者认为小市值股票倾向于在每年的一月份有正的收益率。
为此,用对的检验来验证。 如果一月份有取正值的倾向, 则相隔12个月的值会有正相关。
计算统计量的值,检验p值:
值小于0.05, 这个检验的结果支持一月份效应的存在性。
Ljung和Box(Ljung and Box 1978 )对Box和Pierce(Box and Pierce 1970 )提出了混成统计量(Portmanteau statistic)
检验方法进行了改进
在R软件中, Box.test(x, type="Ljung-Box") 执行Ljung-Box白噪声检验。 Box.test(x, type="Box-Pierce") 执行Box-Pierce混成检验。 用 fitdf= 指定要减去的自由度个数。
检验IBM股票月收益率是否白噪声。
考虑IBM股票从1926-01到2011-09的月度收益率数据, 简单收益率和对数收益率分别考虑。
读入数据:
读入的是简单收益率的月度数据。 作ACF图:
从ACF来看月度简单收益率是白噪声。
作Ljung-Box白噪声检验, 分别取和:
在0.05水平下均不拒绝零假设, 支持IBM月度简单收益率是白噪声的零假设。
从简单收益率计算对数收益率, 并进行LB白噪声检验:
在0.05水平下不拒绝零假设。
Box-Pierce检验和Ljung-Box检验受到取值的影响, 建议采用, 且序列为季度、月度这样的周期序列时, 应取为周期的整数倍。
对CRSP最低10分位的资产组合的月简单收益率作白噪声检验。
此组合的收益率序列的ACF:
针对和作Ljung-Box白噪声检验:
在0.05水平下均拒绝零假设, 认为CRSP最低10分位的投资组合的月度简单收益率不是白噪声。
有效市场假设认为收益率是不可预测的, 也就不会有非零的自相关。 但是,股价的决定方式和指数收益率的计算方式等可能会导致在观测到的收益率序列中有自相关性。 高频金融数据中很常见自相关性。
常见的白噪声检验还有TREVOR S. BREUSCH (1978) 和LESLIE G. GODFREY (1978)提出的拉格朗日乘子法检验(LM检验)。 零假设为白噪声, 对立假设为AR、MA或者ARMA。 参见:
设是独立同分布的二阶矩有限的随机变量, 称为独立同分布白噪声(white noise)。 最常用的白噪声一般假设均值为零。 如果独立同分布, 称为高斯(Gaussian)白噪声或正态白噪声。
白噪声序列的自相关函数为零(除外)。
实际应用中如果样本自相关函数近似为零 (ACF图中都位于控制线之内或基本不超出控制线), 则可认为该序列是白噪声的样本。
如:IBM月度收益率可以认为是白噪声(见例 3.3 ); CRSP最低10分位投资组合月度收益率不是白噪声(见例 3.4 )。
不是所有的弱平稳时间序列都有这样的性质。 非平稳序列更是不需要满足这些性质。
公式就不赘述
如果从时间序列的一条轨道就可以推断出它的所有有限维分布, 就称其为严平稳遍历的。 这里不给出遍历性的严格定义, 仅给出一些严平稳遍历的充分条件。 可以证明, 宽平稳的正态时间序列是严平稳遍历的, 由零均值独立同分布白噪声产生的线性序列是严平稳遍历的。
Tsay, Ruey S. 2013. 金融数据分析导论:基于R语言 . 机械工业出版社.
何书元. 2003. 应用时间序列分析 . 北京大学出版社.
Box, GEP, and D. Pierce. 1970. “Distribution of Resial Autocorelations in Autoregressive-Integrated Moving Average Time Series Models.” J. of American Stat. Assoc. 65: 1509–26.
Ljung, G., and GEP Box. 1978. “On a Measure of Lack of Fit in Time Series Models.” Biometrika 66: 67–72.
参考学习资料: http://www.math.pku.e.cn/teachers/lidf/course/fts/ftsnotes/html/_ftsnotes/fts-tslin.html#fig:tslin-intro-sp02