首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言金融市场量化交易:布林带、价差策略、RSI交易策略,回测COMP 226|附代码数据

supported','\n') } 股票曲线  我们使用滞后函数将时间序列移动一个位置,因此我们使用前一天价格来决定 pos 0,1...,-1) pos <- Lag(pos) pos[1] <- 0 正确股票曲线 交换位置  注意到这个策略在所有四个股票上都表现不佳,但在其中三个股票上表现特别差。...这表明对策略进行了明显改变:做完全相反事情,即交换多头空头交易,如下所示 pos 0,1,-1) 切换式股票曲线 ---- 【视频...如果我们成功了,我们就可以价差远远低于其平均值时买入价差(多廉价产品,空昂贵产品),价差高于其平均值时卖出价差。 连续积分理论正是处理平稳时间序列线性组合,但我们不会去研究数学。...# RSI 策略 pos <- long + short pos <- Lag(pos); pos[is.na(pos)] <- 0 return(pos) } 样本内样本外回测 resultsIn

89300

R语言金融市场量化交易:布林带、价差策略、RSI交易策略,回测COMP 226

滑点--我们回顾一下什么是滑点,我们探讨交易策略中考虑滑点问题 - 使用价差策略,它是两个价格时间序列线性组合  简单策略:模仿策略- 如果收盘价高于开盘价,则在第二天买入- 否则,第二天卖出我们希望这个策略什么时候能发挥作用...')} 复制代码股票曲线  我们使用滞后函数将时间序列移动一个位置,因此我们使用前一天价格来决定pos 0,1,-1)pos 0,1,-1)复制代码切换式股票曲线移动标准差布林带类似于移动平均线...如果我们成功了,我们就可以价差远远低于其平均值时买入价差(多廉价产品,空昂贵产品),价差高于其平均值时卖出价差。连续积分理论正是处理平稳时间序列线性组合,但我们不会去研究数学。...# RSI 策略 pos <- long + short pos <- Lag(pos); pos[is.na(pos)] <- 0 return(pos)}复制代码样本内样本外回测resultsIn

86520
您找到你想要的搜索结果了吗?
是的
没有找到

2021第二期_数据挖掘班_微信群答疑笔记

群内反馈助教解决 RStudio安装失败,怎么解决?...报错了 不知道有没有什么解决方法 或者有没有什么可以用来拼png格式包?...不行 如何检查数据框中NA,只能肉眼去看吗? 函数is.na,加table来检查 R是3.6版本 经常装包出现上面这种情况 用conda装包会简捷一些么?...你把数据读入到R时候,需要设置一下读取参数 只写函数名,不打括号,可以看写函数代码 大家好,在做探针注释时候,用getGEOidmap得到探针/基因名数据框差别很大,请问有同学知道是哪里出问题了吗...dat=Log2(CPM+1),画热图包括后续分析,用是CPM数据,并且是取过log,但是差异分析这个是没有关系,后面那是可视化,还有后续分析用差异分析,用就是原始count数据。

97130

R+python︱XGBoost极端梯度上升以及forecastxgb(预测)+xgboost(回归)双案例解读

它兼具线性模型求解器树学习算法。因此,它快速秘诀在于算法单机上也可以并行计算能力。这使得xgboost至少比现有的梯度上升实现有至少10倍提升。它提供多种目标函数,包括回归,分类排序。...3、模型交互性 能够求出目标函数梯度Hessian矩阵,用户就可以自定义训练模型时目标函数 允许用户交叉验证时自定义误差衡量方法,例如回归中使用RMSE还是RMSLE,分类中使用AUC,分类错误率或是...2、one-hot encode 独热编码——独有的数据结构 参考:[译]快速上手:R中使用XGBoost算法 这个词源于数字电路语言,这意味着一个数组二进制信号,只有合法值是01。...如果它被设置为一个正值,它可以帮助更新步骤更为保守。通常不需要此参数,但是逻辑回归中当分类是极为不均衡时需要用到。将其设置为1 - 10价值可能有助于控制更新。参数范围是0到∞。...λ默认值假设是1α= 0。 lambda_bias : L2正则化项偏差上默认值为0

3.9K10

数据挖掘课程能带给你什么收获

1.R与Rstudio 主要是学习到了会创建project啊,之前不会如此高效整理自己项目....都是直接复制粘贴代码进去,所以各种报错,唉。...如果函数时,遇到比较长需要自动补齐函数,在出现选项时,可以直接上下键来挑选,然后点Tab或者enter键自动补齐 老师推荐了一个everything软件,找东西比电脑内带快很多。...ggplot2example(ggplot2) 5.进阶知识 如果什么包装不上,什么空间原因,可能是包版本更新了,直接去原始包存放地方删掉这个包,重新装就好了。...那是1.删掉有缺失值样本还是2.使缺失值分组中也是缺失值呢?目前两种方法好像都不会欸,找一找。...最后发现不管怎样删除都不行了,数量为什么会不对等呢。 ? 然后直接返回前面去没有删掉缺失值不取年龄分组,然后继续下去,发现也得不到后面的图,卒。 ?

59730

「R」Shiny:工作流(二)调试

如果我们可以通过删除有效代码来缩小问题代码范围,则可以更快地迭代解决方案。这是一直使用技术。 阅读错误追踪 每个错误都伴有一个追溯或调用堆栈,它实际上是追溯导致该错误调用堆栈。...例如,采取以下简单调用顺序:f() 调用 g() 调用 h(),而 h() 使用了乘法操作。...此功能可以发生错误之后以交互方式运行以查看导致错误调用顺序。我们无法 Shiny 中使用此功能,因为我们无法应用运行时以交互方式运行代码,而是 Shiny 会自动为我们打印调用堆栈。...例如,以使用上面定义 f() 函数简单应用程序为例: library(shiny) ui <- fluidPage( selectInput("n", "N", 1:10), plotOutput...接下来几个功能是内部,我们可以忽略它们。 最后,最底部,我们将看到编写代码函数

1.4K10

大老粗别走,教你如何识别「离群值」处理「缺失值」!

对于统计学家来说,离群值缺失值通常是一个棘手问题,如果处理不当可能会导致错误。离群值可能会导致我们结果偏离真实结果,而缺失值造成信息损失可能会导致建模失败。...因此,执行数据分析之前,正确识别离群值并处理缺失值非常重要。本推文讨论内容应该在建模之前执行。虽然本推文整个统计模型系列中较为置后,却至关重要,望警醒。 ? 01 离群值识别 什么是离群值?...()max()函数返回对象最小值最大值。...自定义函数只有两个参数,第一个参数是数据集名称,第二个参数是变量名;只要正确替换数据集变量名,读取就可以直接运行代码。...R中数值变量字符变量使用相同缺失值符号。R提供一些函数来处理缺失值。要确定向量是否包含缺少值,可以使用is.na()函数。“is.na()”函数是用于确定元素是否为na类型最常用方法。

3.7K10

TCGA28篇教程- 对TCGA数据库任意癌症中任意基因生存分析

生存分析,大多就是说KM方法估计生存函数,并且画出生存曲线,然后还可以根据分组检验一下它们生存曲线是否有显著差异。 R中,有个包survival生存分析就很方便!...既然是要说明如何对任意癌症任意基因生存分析,那么我们首先需要理解cgdsr下载TCGA任意数据用法(见之前教程),下面的例子是获取TCGA数据库乳腺癌BRCA1BRCA2基因表达,以及涉及到病人临床资料...虽然上面挑出临床信息还有很多,但是我们只需要用到OS_MONTHSOS_STATUS就可以来估计KM生存函数,画出最简单生存曲线!...如果在生存期上有小幅度提高,可以认为是有意义临床受益证据。作为一个终点,生存期应每天进行评价,可通过住院就诊时,通过与患者直接接触或者通过电话与患者交谈,这些相对比较容易 记录。...img 可以看到这个survminer包对生存分析可视化效果很赞,之所以可以显示P值,是因为我们survfit函数已经做了检验,返回kmfit这样对象里面本身就含有非常丰富信息,大家可以自行摸索

45.4K1613

Jelys Note之生信入门class1

1.勤记录、多记笔记、学好思维、勤复习!2.耐心学基础、多练习、多思考!3.要听话!练习思考ppt上内容!...【学习好处】然而使用R语言与Rstudio最大好处就是能批量处理数据画图!突出批量处理效率!【我们需要了解知识】什么函数?数据要怎么组织?...【梳理正确观念】文件在哪也很重要代码正确也很重要代码顺序也很重要【从第一行开始运行&不能强行任意行运行】代码报错了,不代表代码错了可能文件没放对位置、包装错了、环境错了处理报错,是数据分析常态!...【最初了解Rstudio步骤】最初学习步骤:安装R包--读写文件--函数与数据有什么规则【安装R包出现问题】按照上课需要,安装了一些R包,而R包是需要install(安装)后,console(控制台中...且要打引号逻辑型:true-Tfalse-FNA-缺失值【未知】class()函数,判断什么内容放在括号内class(T)1 "logical"class(0)1 "numeric"class("a")

48900

数据处理第2节:将列转换为正确形状

转换列:基础部分 您可以使用mutate()函数创建新列。 mutate中选项几乎是无穷无尽:你可以对普通向量任何事情,可以mutate()函数内完成。...使用ifelse(),首先指定一个逻辑语句,然后语句返回“TRUE”时需要发生什么,最后如果它是“FALSE”则需要发生什么。...如果想在几分钟内完成,可以使用mutate_at()并将包含列所有'sleep'包装在vars()中。 其次,飞行中创建一个函数,将每个值乘以60。...如上所述,ifelse()采用逻辑表达式,然后如果表达式返回“TRUE”则该怎么办,最后当它返回“FALSE”时要做什么。...不幸是,似乎没有简单方法让case_when()返回一个有序因子,所以你需要自己,之后使用forcats :: fct_relevel(),或者只是一个因子()函数

8K30

线性回归时间序列分析北京房价影响因素可视化案例

电梯有(1)或没有电梯(0)(数值) 五年期:业主拥有不到5年财产(数字) 数据清理、特征创建 从最初数据看: 从网址上,发现它有位置信息,如chengjiao/101084782030。...既不能在建模中使用这个特性,也不能删除NA,但它也会减小数据帧大小。...ifelse(is.na(df$DOM),median(df$DOM,na.rm=T),df$DOM) 用于将数字转换为类别的自定义函数 对于某些特征,需要一个函数来处理多个标签,对于其他一些特征(客厅...any(is.na(df3)) ## [1] FALSE 探索性分析 由于有数字分类特征,将使用EDA技术有: 数值:相关矩阵 分类:箱线图地图 我们必须关注价格(单位价格/单位价格)以及总价格..."MSE: 15952.845934 RMSE : 126.304576 R2 :0.795874" 所以看起来残差还不错(分布是正态,以0为中心),但对于低价格来说似乎失败了。

1.2K10

《假如编程是魔法之零基础看得懂Python入门教程 》——(五)魔法竟然有了一丝逻辑

现在我们来看一下以下示例: if 1>10: 以上代码使用了if关键字,之后接上了一个条件,这个条件是1>10;我们现在先别管条件是怎么写,刚刚说了,条件满足后将会触发指定流程。...以上表现形式中使用了#号来修饰一些说明,这是什么东西?这是表示这是注释,注释表示这一行或者这一块代码说明,方便你进行查看解释标注,通过解释器时并不会去翻译使用#号标注内容。...("是其它数") 以上示例中,使用了if判断值是否是1,使用两个等于号“==”表示判断左右两边值是否相等,python中使用一个等于“=”表示赋值;假设值等于1则输出"输入1",假设需要判断是否输入值等于...) else: print("错了") 以上示例中使用了and运算符,表示“与”;and运算发坐标为一个条件(表达式)右边也是一个条件,首先判断坐标条件a是否小于10,如果成立则判断右边a除2取余数是否为...0: print("打开盒子") else: print("错了") 假设输入一个值100,它是大于10条件1不成立,但是它却可以被2整数余数为0使用or情况是会显示“打开盒子

50220

2022年4月_生信入门班_微信群答疑笔记

左边 请问一下,r code里面提到使用镜像是什么意思,不用镜像会有什么影响么 不使用下载速度会慢,甚至失败如果你人在海外的话,自己电脑上安装,建议找一个离自己近镜像地址。...,这个公式0什么含义呢?...你现在C盘还有多少空间,一般有10G就够用了如果你现在用着没什么问题,也可以,只是以后可能会遇到问题。现在改的话卸载重装就好 老师,请问一下现在有问题还是腾讯文档里截图反馈吗?...但是不加载的话,后面的函数什么能用? 你不加载 r不知道你要用啥函数,但你指定了具体R包,他就知道了 老师,想请教个问题,数据b结构代码如图。...不大 老师想写一个当i=1返回Hi,当i>1返回i命令,您能帮我看看哪里出问题了吗,谢谢 这里是多了一个fi 读取文件使用 fread函数 安装clusterProfiler遇到问题。

1.4K10

线性回归时间序列分析北京房价影响因素可视化案例|附代码数据

电梯有(1)或没有电梯(0)(数值) 五年期:业主拥有不到5年财产(数字) 数据清理、特征创建 从最初数据看: 从网址上,发现它有位置信息,如chengjiao/101084782030。...既不能在建模中使用这个特性,也不能删除NA,但它也会减小数据帧大小。...ifelse(is.na(df$DOM),median(df$DOM,na.rm=T),df$DOM) ---- 点击标题查阅往期内容 01 02 03 04 用于将数字转换为类别的自定义函数...any(is.na(df3)) ## [1] FALSE 探索性分析 由于有数字分类特征,将使用EDA技术有: 数值:相关矩阵 分类:箱线图地图 我们必须关注价格(单位价格/单位价格)以及总价格... "MSE: 15952.845934 RMSE : 126.304576 R2 :0.795874" 所以看起来残差还不错(分布是正态,以0为中心),但对于低价格来说似乎失败了。

65630

Shiny 练习 | 堆积柱状图

这里可调整第二张图调色板: ? 默认情况下是这两张图,可能有小伙伴就会说,这个第一张图只能随机生成颜色,可不可以为每个分类自定义颜色呢?...下面给大家简单讲讲设计思路。 设计思路 网页界面(ui.R) 因为这个网站主要目的是作图,那么其实不难想到我们大概要分成四个板块,分别完成上传,预览数据,设置作图参数绘图功能。 ?...因为想等按下按钮后再出现绘图区,所以这里使用了 uiOutput() 来生成绘图区 UI 。...下面开始写主程序,这里只会介绍一些关键代码片段,完整代码最后。...= ""),"Please upload count file") ) reactable(counts()) }) 如果程序没有正确读取输入文件,会输出提示信息。

2.4K20

「R」数据操作(五):dplyr 介绍与数据过滤

如果你想要在载入tidyverse包后仍然使用这些函数,你需要使用函数全名stats::filter()stats::lag()进行调用。...,这里适配地显示了一个屏幕前几行所有的列(我们可以使用View(flights)Rstudio中查看数据集所有信息。...R提供了标准比较符:>,>=,<=,!===。 如果你是初学R,一个常见错误是用=而不是==来检测相等。...NA 最简单理解为什么这是TRUE方式是带入一点语境: # 把x看作小明年龄,我们不知道他多大 x <- NA # 把y看作小红年龄,我们不知道她多大 y <- NA # 小明小红一样大吗...x == y ## [1] NA # 我们不知道 如果你想确定一个值是不是缺失了,使用is.na(): is.na(x) ## [1] TRUE filter()仅仅会包含条件是TRUE行,把是

2.4K11

学徒带你7步3251行代码+300行注释完成TCGA数据库挖掘实战全文复现

3.对Up DEM进行Cox风险回归分析(文章没有说用什么数据去进行后续COX回归分析,推测出用log2(x+1)进行分析,其实还可以用EdgeR包中标准化好logCPM进行后续分析,或者RPKM...()函数,对Expr这个数据框行进行批量,然后返回是每个miRNA10个样本中表达量是否>1逻辑向量,TRUE还是FALSE #只取那些逻辑值为TruemiRNA表达量,过滤掉FALSE...#文章使用筛选出上调DEMsCox生存分析,不需要Normal组了,只需要Tumor组 #2.1 提取上调miRNA表达量数据框,如果是对所有的上调和下调Cox。...),rownames(BRCA_clinicaldata)),] #使用到match函数,match[A,B],A是被匹配,B是要匹配返回是Up_DEM_expr列名(样本名)BRCA_clinicaldata...没有说预测是几年 下面分别用了两个函数 rm(list = ls()) #### 魔幻操作,一键清空~ options(stringsAsFactors = F)#在读入数据时,遇到字符串之后,

3.9K51

如何用RAPI免费获取Web数据?

如果面对任何Web数据获取问题,你都不假思索“上大锤”,有时候很可能是“杀鸡用了牛刀”。 “别人准备好数据”“需要自己爬取数据”之间,还有很宽广一片地带,这里就是API天地。...我们浏览器里,看到上图中那一长串文字。你可能感觉很奇怪——这是什么玩意儿? 恭喜你,这就是我们需要获得数据了。只不过,它使用了一种特殊数据格式,叫做JSON。...JSON是目前互联网上数据交互主流格式之一。如果你想搞清楚JSON含义用法,可以参考这个教程。 我们浏览器里,初始只能看到数据最开头一部分。...数据能够正常返回,下面我们RStudio中采用语句方式来调用。 注意下面的代码中,程序输出部分开头会有##标记,以便执行代码本身相区别。 一上来,我们就需要设置一下时区。...与本文介绍比起来,这些工具有什么特点?欢迎留言,把你心得经验分享给大家,我们一起交流讨论。 如果你对文章感兴趣,欢迎点赞,并且微信关注置顶公众号“玉树芝兰”(nkwangshuyi)。

2.1K20

R数据科学|3.7内容介绍及习题解答

3.7 分组新变量(筛选器) 虽然与summarize()函数结合起来使用是最有效,但分组也可以与mutate()filter()函数结合,以完成非常便捷操作。...一般不使用分组筛选器,除非是为了完成快速、粗略数据处理,否则很难检查数据处理结果是否正确分组新变量筛选器中最常使用函数称为窗口函数(与用于统计摘要函数相对)。...你可以相应使用指南中学习到更多关于窗口函数知识:vignette("windowfunctions")。 习题解答 问题一 查看常用新变量函数筛选函数列表。...使用 lag() 函数探究一架航班延误与前一架航班延误之间关系。 解答 #计算同一机场前一航班起飞延误。...is.na(dep_delay), !is.na(dep_delay_lag)) 下面绘制了前一航班所有值与平均延误之间关系。

3.9K32
领券