R:连续期货反向运作

R:连续期货反向运作,r,math,series,quandl,R,Math,Series,Quandl,我想创建一个连续的期货系列,即消除两个系列之间的差距 我想做的第一件事是从开始到现在下载所有单独的合同,语法总是一样的: Quandl("CME/INSTRUMENT_MONTHCODE_YEAR") 1.在这种情况下,仪器为GC(金) 2.MONTHCODE是G J M Q V Z 3.1年为1975年至2017年(实际合同) 有了这些数据,我从上一份合同开始工作,本例为“CME/GCG1975”,下一份合同为“CME/GCJ1975”。然后我看到了第一份合同GCG1975的最后6个值(由于

我想创建一个连续的期货系列,即消除两个系列之间的差距

我想做的第一件事是从开始到现在下载所有单独的合同,语法总是一样的:

Quandl("CME/INSTRUMENT_MONTHCODE_YEAR")
1.在这种情况下,仪器为GC(金)

2.MONTHCODE是G J M Q V Z

3.1年为1975年至2017年(实际合同)

有了这些数据,我从上一份合同开始工作,本例为“CME/GCG1975”,下一份合同为“CME/GCJ1975”。然后我看到了第一份合同GCG1975的最后6个值(由于日期递减,所以是最近的)

require(Quandl)
GCG1975 = Quandl("CME/GCG1975",order="asc", type="raw") 
tail(GCG1975,6)
顺序可以是asc desc(升序或降序),类型可以是:原始(数据帧)ts xts zoo

它输出:

图像:quandl-1.png=GCG1975的最后值

然后我只需要从最后一行开始的第6行,我想要删除列“Last”“Change”(这可能是在开始处理每个单独的合同之前):

图像:quandl-2.png=最后第六个值GCG1975

然后我想在下一份合同(GCJ1975)中找到日期为1975-02-18(最后第6个值GCG1975)的行:

图像:GCJ1975上的quandl-3.png=1975-02-18

然后我计算G合同的“结算”和J合同的“结算”之间的差额

Difference_contract = 183.6 - 185.4
Difference_contract = -1.8
这意味着下一个或J合同比前一个合同高1.5个百分点,所以我们必须将-1.8加在J合同的以下所有数字上(开放、高、低、结算),包括第1975-02-18行。这:

图像:quandl-4.png=合同之间的差异

然后我们有这样一个连续的系列:

图像:quandl-5.png=连续系列

从上一份合同到实际合同,所有这些差额和金额构成一个连续系列

我想我不能发布这个,因为我没有10点的声誉,我只能发布2个图片链接。 任何指导都会帮助我,任何你问我的问题

谢谢,希望一切顺利

RTA

编辑:我已经将照片及其链接上传到我的dropbox,所以你必须查看它,因为Stackoverflow不允许在没有10点声誉的情况下发布超过2个链接