基于协整关系的配对交易比之前的基于距离和相关性要更先进一些。收益上确实也体现出来了。

library(tseries)

adf.test(xom)

adf.test(cvx)

model <- lm(xom ~ cvx + 0)

summary(model)

adf.test(as.ts(model$residuals))

bp <- get_symbol_cl("BP")

model <- lm(xom ~ bp + 0)

adf.test(as.ts(model$residuals))

plot(cbind(xom,bp * model$coefficients),

col = c("black", "red"),

main = "xom & model$coefficients")

plot(as.xts(model$residuals, index(xom)),

main = "model$residuals")

plot(signal, main = "交易信号")

roll_me <- rollapply(model$residuals,14,mean)

roll_std <- rollapply(model$residuals,14,sd)

n <- 1

roll_ub <- roll_me + n * roll_std

roll_lb <- roll_me - n * roll_std

signal <- NULL

signal <- ifelse(model$residuals>roll_ub,-1,

ifelse(model$residuals roll_me,-1,

ifelse(lagsignal==1 & model$residuals < roll_me,1,0))

# 计算收益

spread_return <- ret_xom - lag(hedge_ratio) * ret_cvx

cost <- 0

trade_return <- spread_return * lag(signal) - cost

names(trade_return) <- "TradStrat_PT#3"

# 交易效果和绩效指标

summary(as.vector(trade_return))

cumm_ret <- Return.cumulative(trade_return)

annual_ret <- Return.annualized(trade_return)

par(mfrow = c(1, 1))

charts.PerformanceSummary(trade_return, main = "交易报告")

tail(cumm_ret)

maxDrawdown(trade_return)

StdDev(trade_return)

StdDev.annualized(trade_return)

VaR(trade_return)

SharpeRatio(trade_return, Rf = 0, FUN = "StdDev")

SharpeRatio.annualized(trade_return, Rf = 0)

> # 交易效果和绩效指标

> summary(as.vector(trade_return))

Min. 1st Qu. Median Mean 3rd Qu. Max. NA's

-0.036732 0.000000 0.000000 0.000192 0.000520 0.031850 15

> cumm_ret <- Return.cumulative(trade_return)

> annual_ret <- Return.annualized(trade_return)

> par(mfrow = c(1, 1))

> charts.PerformanceSummary(trade_return, main = "交易报告")

>

>

> tail(cumm_ret)

TradStrat_PT#3

Cumulative Return 0.3088741

> maxDrawdown(trade_return)

[1] 0.1295894

> StdDev(trade_return)

[,1]

StdDev 0.004902459

> StdDev.annualized(trade_return)

TradStrat_PT#3

Annualized Standard Deviation 0.07782412

> VaR(trade_return)

TradStrat_PT#3

VaR -0.006463428

> SharpeRatio(trade_return, Rf = 0, FUN = "StdDev")

TradStrat_PT#3

StdDev Sharpe (Rf=0%, p=95%): 0.03917563

> SharpeRatio.annualized(trade_return, Rf = 0)

TradStrat_PT#3

Annualized Sharpe Ratio (Rf=0%) 0.5964265

> 感谢阅读,欢迎关注和留言

> 量化投资与期货外汇散仙,基金保险水平也拿的出手

r语言 协整_基于协整关系的配对量化交易策略-R语言相关推荐

  1. “泰迪杯” 挑战赛 - 基于市场资金流向分析的商品期货量化交易策略(附suibian代码)

    目录 基于市场资金流向分析的 Suibian 期货策略 摘要 1 问题重述 1.1 问题重述 2 符号说明及名字定义 3 问题分析与求解 3.1 资金流向指标的定义 3.2 持仓量.成交量和价格的关系 ...

  2. python均线斜率_【每日一策】Matlab量化交易策略之 均线拐头配合出场

    function Strategy1(default_unit,default_exitway,freq)% targetList = traderGetTargetList(); %获取目标资产信息 ...

  3. 基于Informer的股价预测(量化交易综述)

    摘要 股票市场是金融市场中不可或缺的组成部分.准确预测股票趋势对于投资者和市场参与者具有重要意义,因为它们可以指导投资决策.优化投资组合以及降低金融风险.而且可以提升国家国际地位以及金融风险控制能力, ...

  4. 用于量化交易的计算机语言,量化交易用什么语言最合适

    量化交易用什么语言最合适 发布人:金数源  更新时间:2018-12-12 18:29:57 随着现在数据获取越来越容易(当然,我们金数源也贡献了一份力量,推动着中国量化交易的发展 )量化交易让交易者 ...

  5. python量化外汇交易_用Python实现一个Dual Thrust数字货币量化交易策略

    Dual Thrust交易算法介绍 Dual Thrust交易算法是由Michael Chalek开发的著名量化交易策略.它通常用于期货,外汇和股票市场.Dual Thrust的概念属于典型的突破交易 ...

  6. python 用while输出数字金字塔_用Python实现一个Dual Thrust数字货币量化交易策略

    Dual Thrust交易算法介绍 Dual Thrust交易算法是由Michael Chalek开发的著名量化交易策略.它通常用于期货,外汇和股票市场.Dual Thrust的概念属于典型的突破交易 ...

  7. mchain r语言_布林带交易策略R语言实现

    布林带(Bollinger Bands)指标是股市技术分析的常用工具之一.该指标由约翰 布林提出,基于K线图画出三条线,其中上下两条线可以分别看成是股价的压力线和支撑线,而在两条线之间还有一条股价平均 ...

  8. spad 探测器_基于SNSPD与SPAD探测器的激光测距系统的r比较研究

    基于 SNSPD 与 SPAD 探测器的激光测距系统的 r 比较研 究 张晓英 ; 贾磊 ; 朱江 ; 闫夏超 ; 张蜡宝 ; 康琳 ; 吴培亨 [期刊名称] <红外与毫米波学报> [年 ...

  9. c语言小车倒车程序,基于单片机的汽车倒车系统设计(超声测距报警)(C语言程序)...

    基于单片机的汽车倒车系统设计(超声测距报警)(C语言程序)(任务书,毕业论文22000字) 摘要 本设计是以单片机技术为基础,实现对前方物体距离的测量.根据超声波指向性强,能量消耗慢,在介质中传播距离 ...

最新文章

  1. 10分钟内基于gpu的目标检测
  2. C#操作OFFICE一(EXCEL)
  3. R语言获取当前R版本(version)实战
  4. c++中内敛函数_C++ 内联函数 | 菜鸟教程
  5. 13-NSPersistentContainer性能比较
  6. python的pass语句_Python | 演示pass语句的示例
  7. 消息队列 ActiveMQ 、RocketMQ 、RabbitMQ 和 Kafka 如何选择?
  8. SQL基础:数据表的创建
  9. android 正在上传动画,安卓系统上传文件动态显示进度条,进度条经常卡在99%有时也会卡住不显示完整的文字。...
  10. 2019支付版/聚合支付第三方支付/四方支付系统/提供技术咨询服务
  11. 萌新谈相机与IMU的标定(转载)
  12. Android接收短信和发送短信
  13. PAT A1065 A+B and C (64bit) ——斜风细雨不须归
  14. 使用fastdb的感受
  15. STM32开发 -- RTC详解
  16. Flutter 利用 Hero 动效实现列表详情页的无缝切换
  17. 离散数学-趣味题之一
  18. 客户端操作系统已禁用cpu解决方案
  19. Electron的入门使用
  20. 我的第二次找工作之旅

热门文章

  1. java成绩查询_成绩查询系统(JAVA)
  2. 查看 centos 具体版本号
  3. 基于混沌映射的文本加密算法研究系列
  4. Microsoft Excel 教程:如何在 Excel 中移动或复制工作表或工作表数据?
  5. 时间管理二分法——游离有聚焦
  6. 论文总结6接5 HPLC结合聚类分析法+向量机
  7. 初中毕业自考大专步骤 自学考试大专需要几年
  8. 计算机信息的编码教案,信息编码教案
  9. 哈尔滨工业大学hit软件构造实验lab1
  10. TextMate 小小心得