累积摆动指数
累积摆动指数是摆动指数的加强版,如果累积摆动曲线在上升趋势线的下方,这是一个买入信号,如果累积摆动曲线在下降趋势线的上方,是一个卖出信号。 总之,累积摆动曲线是一个确认买入卖出信号的工具。
使用(Push/Pull)多个Git远程仓库
众所周知,GitLab.com 在今年年初上演了一场惊天大戏——从删库到直播。 最近一段时间GitHub也经常down个十几分钟,据说是断电引起的。
为了避免工作上的不便,是时候使用远程同步到多个git仓库了!!
前不久由于在考虑跳槽,想把现在的工作都保存到云端以免丢失。自从硬盘挂了之后就对自己电脑上的存储设备不再信任,但是存“别人”硬盘上,也肯定不能保证一点问题都没有,例如Apple云同步有权限删除大于180天的资料。由于现在的工作都是在GitHub私有仓库里进行的,考虑到直接复制到硬盘占地方又有设备之间同步的问题,所以干脆把仓库同步到其他远程git仓库服务中。
方法是从stackoverflow上复制下来的,仅此备份。
我已经在本地有一个名叫cn的仓库,同步到gitlab,现在想把这个仓库也同步到github,操作如下:
## 以https://github.com/yulijia/cn 为例
## 首先cd到仓库相应目录
## 不需要 Git 初始化 git init
## 添加备份仓库地址(在此之前要在备份仓库网站创建相应的空白仓库)
git remote add alt git@github.com:yulijia/cn.git
## Git 添加文件信息
git add .
git commit -m "git init push"
## push到备份地址
git push --set-upstream origin master
之后每一次添加commit的push操作都要用两次git push
,这样才能将本地内容分别备份到两个云端仓库中。
KDD cup 2017 总结
今年KDD cup由阿里巴巴天池承办,比赛的题目是预测汽车通过高速公路闸口的时间,以及高速公路入口到闸口的车流量,这是一个时间序列预测类的问题,同类问题很多都属于经济学方面。
预测方法就是提取前6个时间段的信息,预测后6个时间段的结果。训练数据量大约3个月左右。
这题麻烦在从题目中的各种表格中提取特征,以及预测时训练集合的组成(究竟用每个路口的数据预测,还是一个路口一个路口来训练预测)。很明显比赛题目中的缺失数据是硬造出来了,给数据整理带来了不少麻烦。
灰师弟和我一起参加了比赛(分别做1,2题,两个人选题不一样),前后一共忙活了20天,他的成绩比我好,mape 0.23 我的在0.3到0.6之间徘徊 _-_
。
废话不多说,总结一下从中学习到了什么新东西:
- 比起R,python在机器学习方法上的包内容更全面,也更好掌握
- 完整的实现了R中xgboost方法的tune步骤,借鉴了这个脚本,比caret包好用。
- objective function 几乎忘光了,要重新捡起来,我觉得构造这个方程很有意思。
- 关于一个一个路口预测还是整体一起预测的问题,整体一起预测的效果会好一些。
- 有一个同boosting相关的时间序列包叫forecastxgb,官方推荐的入手点,测试了一下,计算速度慢,结果也不好。
最后还要唠叨一句,十年河东,十年河西,今年的KDD cup平台不好用,选手登录都不方便。论坛里各种中文发帖交流,我估计都没几个外国选手参加。最后还出现了竞赛“丑闻”,不知道是不是有人蓄意抹黑还是真的有这种事情发生。
数数据竞赛,还看Kaggle!
通过RNA纯化进行染色质分离
Illumina公司有一张特别牛x的poster,叫做 For all you seq,全面记录了目前问世的所有二代测序技术的建库protocol,但是这张poster是加密的,无法分割、提取进行打印。然后,他们又出了一个手册,来介绍For all you seq里的建库方法,叫做Sequencing Methods Review,全手册加上illumina的广告将近200页。我打算从头到尾都看一遍,有兴趣的就写出来分享一下。
对于做生物信息的人,为啥要知道实验上的建库原理?
因为测序数据的第一道处理步骤就是排除并分析建库和测序时产生的错误和误差。为什么会产生这些问题?如何在mapping时排除相应问题,做到准确alignment?
第一部分就从RNA转录开始说起,RNA转录的度量方法分为很多种:
- post-translational modifications 后转录修饰
- RNA splicing 剪接
- RNA bound to RNA binding proteins (RBP) 与RNA相关蛋白结合
- RNA expressed at various stages 在不同阶段的表达量
- unique RNA isoforms 转录本异构体
- RNA degradation 降解
- regulation of other RNA species 调控其他RNA “物种” (我不清楚这句话的意思)
Chromatin isolation by RNA purification
Chromatin isolation by RNA purification (ChIRP-Seq) RNA纯化染色质分离技术是用于定位非编码RNA,例如长非编码RNA及其蛋白同染色质相互作用的位置。
首先进行交联,超声打断,用Biotinylated寡核苷酸对感兴趣的RNA进行杂交,并用链霉抗生物素蛋白磁珠捕获复合物。用RNase H(核糖核酸酶H)处理后,对DNA进行提取和测序。
技术优点:
- 可在基因组全部区域找寻结合位点
- 可发现新结合位点
- 可只对感兴趣的RNA进行相应研究
技术缺点:
- 非特异性的寡核苷酸相互作用会导致对结合位点的错误解读
- 染色质会在预处理阶段降解
- 感兴趣的RNA序列信息必须已知 (这不是废话吗,感兴趣的RNA肯定是已知的,已知的能不知道序列?感兴趣的未知RNA的作用位点,知道了也没法研究啊)
累积分布?累积/派发线!
Accumulation Distribution 乍一看可以翻译成累积分布,但累积分布的正确英文写法是cumulative distribution。 今天要说的这个Accumulation Distribution是证券交易中的技术指标——累积/派发线。
难道我这个浓眉大眼的家伙也开始炒股了? -__,-
当然不是,我只是想用空闲时间了解一些经济学基本知识,从网上找到了Online Trading Concepts
,这个和计算有点关系的技术指标介绍网站,所以打算好好看一看,为了记录自己的学习成果,有机会就编译点网站上内容。
累积/派发线通过成交量来确认价格趋势,对于可能导致价格波动反转的弱趋势给出预警。
累积:当天收盘高于前一天收盘价时,将成交量计入前一日的成交量累积值中,作为今日的累积/派发线值。 派发:当天收盘低于前一天收盘价时,将成交量从前一日的成交量累积值中减去,作为今日的累积/派发线值。
所以累积/派发线是用来检测价格矩估计和成交量矩估计之间的差异。
两个时间点之间的成交量曲线是上涨的,那么说明价格会上涨,泛指则应认定为价格会有波动(下降)。
- High #1 到 High #2
图中的High #1 到 High #2 的价格是一样的,但是累积/派发线呈下降趋势,说明价格会有波动(下降)。
- High #3 到 High #4
图中的High #3 到 High #4 的价格是上涨的,但是累积/派发线呈下降趋势,说明价格会有波动(下降)。
- Low #1 to Low #2
a sign of strength, 翻译不好这个strength的意思。但是看图,应该还是波动(下降)趋势。
累积/派发线是一个实用的检测价格趋势反转的指标。其他类似的分析成交量和价格的指标是Chaikin Oscillator (蔡金摆动指标), Money Flow Index (资金流量指标),以及 Price Volume Trend indicator (价格交易量趋势指标)。
R 代码 Williams Accumulation / Distribution
library(TTR)
library(magrittr)
library(plotly)
data(ttrc)
ttrc$ad <- williamsAD(ttrc[,c("High","Low","Close")])
df=tail(ttrc,30)
i <- list(line = list(color = '#FFD700'))
d <- list(line = list(color = '#0000ff'))
p <- df %>%
plot_ly(x = ~Date, type="candlestick",
open = ~Open, close = ~Close,
high = ~High, low = ~Low,
increasing = i, decreasing = d)%>%
add_lines(y= ~ad, name = "williamsAD") %>%
layout(yaxis = list(title = "Price"))