常见的股票技术因子学习以及计算
最近在看《量化投资数据挖掘技术与实践(MATLAB版)》。学习了其中的常见的股票衍生变量,并且利用WIND金融数据终端的matlab借口windmatlab导出一些数据进行了一个简单的学习。特此记录。
- 下面是我对于书中提到的几个因子的学习总结:
A. 股票当日涨幅:相对于收盘价而言。其计算为:
股票当日涨幅=(第i天的收盘价−第i−1天的收盘价)第i−1天的收盘价×100%\frac{(第i天的收盘价-第i-1天的收盘价)}{第i-1天的收盘价}\times100\%
B. 股票10日涨幅
股票当日涨幅=(第i天的收盘价−第i−10天的收盘价)第i−10天的收盘价×100%\frac{(第i天的收盘价-第i-10天的收盘价)}{第i-10天的收盘价}\times100\%
C. 10日涨跌比率ADR
ADR=10日内股票涨的天数10日内股票跌的天数\frac{10日内股票涨的天数}{10日内股票跌的天数}
取值范围:
一般而言,由ADR的数值大小可以把大势分为几个区域。
(1)ADR数值在0.5——1.5之间是ADR处在正常区域内。当ADR处在正常区域内时,表明多空双方势均力敌,大盘的走势波动不大、比较平稳,股市大势属于一种盘整行情。这个区域是ADR数值经常出现的区域。
(2)当ADR数值在0.3——0.5之间或1.5——2之间是ADR处在非正常区域内。
当ADR处在1.5——2之间的非正常区域时,表明多头力量占据优势,大盘开始向上一路上涨,股市大势属于一种多头行情;
而当ADR处在0.3——0.5之间的非正常区域时,表明空头力量占据优势,大盘开始一路下跌,股市大势属于一种空头行情。这两个区域是ADR数值比较少出现的区域。
(3)当ADR值是在0.3以下或2以上时是ADR处在极不正常区域内。当ADR处在极不正常区域时,主要是突发的利多、利空消息引起股市暴涨暴跌的情况。此时,股市大势属于一种大空头或大多头行情。买卖决策:
(1)当ADR数值小于0.5时,表示大势经过长期下跌,已经出现超卖现象,很多股票价格可能会止跌企稳并出现一轮反弹行情,投资者可以短线少量买入超跌股作反弹。
(2)当ADR数值大于1.5时,表示大势经过长期上涨,已经出现超买现象,很多股票价格可能已经上涨过度,将会出现一轮幅度比较大的下跌行情,投资者应以及时卖出股票或持币观望为主。
(3)当ADR数值在0.5——1.5之间时,表示大势基本处于整理行情之中,没有出现特殊的超买和超卖现象,这时投资者更重要的在于研判个股行情。
(4)当ADR数值在0.3以下时,表示大势处在大空头市场的末期,市场上出现了严重的超卖现象,很多股票的价格已经跌无可跌,此时,投资者可以分批逢低吸纳股票,作中长线的建仓投资。
(5)当ADR数值在2.0以上时,表示大势处在大多头市场的末期,市场上出现了严重的超买现象,很多股票的价格已经涨幅过大,将面临一轮比较大的下跌行情,此时,投资者应及时卖出持有的股票。
D. 10日相对强弱指标RSI
RSI10=10日内涨的天数10RSI_{10}=\frac{10日内涨的天数}{10}
相对强弱指数(RSI)是通过比较一段时期内的平均收盘涨数和平均收盘跌数来分析市场买沽盘的意向和实力,从而作出未来市场的走势。
更多具体的信息可以参考MBA智库:
http://wiki.mbalib.com/wiki/%E7%9B%B8%E5%AF%B9%E5%BC%BA%E5%BC%B1%E6%8C%87%E6%A0%87
E. 当日k线值
当日k线值=PRICEclose−PRICEopenPRICEhigh−PRICElow当日k线值=\frac{PRICE_{close}-PRICE_{open}}{PRICE_{high}-PRICE_{low}}
F. 10日乖离日(BIAS)
BIAS=当日收盘价−N日内移动平均收盘价N日内移动平均收盘价BIAS=\frac{当日收盘价-N日内移动平均收盘价}{N日内移动平均收盘价}
关于BIAS的具体介绍参考MBA智库百科:
http://wiki.mbalib.com/wiki/BIAS
G. RSV-未成熟随机值
RSV=当日收盘价–9日内最低收盘价9日内最高收盘价–9日内最低收盘价×100RSV=\frac{当日收盘价 – 9日内最低收盘价}{9日内最高收盘价 – 9日内最低收盘价}×100%
RSV参考MBA智库百科
http://wiki.mbalib.com/wiki/RSV
F. OBV量比
OBV=sign(当日股票收盘价−前日股票收盘价)×当日成交量Vsign(当日股票收盘价-前日股票收盘价)\times 当日成交量V
其中sign为符号函数,其表达形式为:
sign(x)sign(x)=
\begin{array}{ll} 1&\text{$x>0$},\\ 0& \text{$x=0$}.\\ -1&\text{$x
关于OBV更多的讨论可以参考:
https://baike.baidu.com/item/%E8%83%BD%E9%87%8F%E6%BD%AE?fromtitle=OBV&fromid=3635727#2
2.matlab程序
clc
clear
close all
% w=windmatlab;
% [w_wsd_data,w_wsd_codes,w_wsd_fields,w_wsd_times,w_wsd_errorid,w_wsd_reqid]=...
% w.wsd('000001.SZ','open,high,low,close,volume','2011-01-01','2013-12-30');
% price(:,1)=w_wsd_times;
% price(:,2:6)=w_wsd_data;
% price=sortrows(price,-1);
price=xlsread('sz000001.xls');
sr=size(price,1);
cp=30;%衍生变量计算日期区间最大跨度。
sampleValue=zeros(sr-cp,11);
for i=1:sr-cp%dv1:当日涨幅 100%*(第i天的收盘价-第i-1天的收盘价)/第i-1天的收盘价dv1=100*(price(i,5)-price(i+1,5))/price(i+1,5);%dv2:十日涨幅 100%*(第i天的收盘价-第i-10天的收盘价)/第i-10天的收盘价dv2=100*(price(i,5)-price(i+10,5))/price(i+10,5);riseNumber=0;decreaseNumber=0;%以10为周期,比较10天内的涨的天数和跌的天数for j=1:10if price(i+j-1,5)-price(i+j,5)>0riseNumber=riseNumber+1;elsedecreaseNumber=decreaseNumber+1;endend%dv3:10日涨跌比率ADR,10日内涨的天数/10日内跌的天数dv3=riseNumber/decreaseNumber;%dv4:10日相对强弱指标 10日内涨的天数/10;dv4=riseNumber/10;%dv5:当日k线值%dv6:6日k线值kLineValue=zeros(1,6);for j=1:6kLineValue(1,j)=(price(i+j-1,5)-price(i+j-1,2))/(price(i+j-1,3)-price(i+j-1,4));enddv5=kLineValue(1);dv6=sum(kLineValue(1,1:6))/6;%dv7:10日乖离率(BIAS)BIAS=(当日收盘价-N日内移动平均收盘价)/N日内移动平均收盘价dv7=(price(i,5)-sum(price(i:i+9,5)/10))/sum(price(i:i+9,5))/10;%dv8:9日未成熟随机值 rsv =(收盘价 – 9日内最低收盘价)/(9日内最高收盘价 – 9日内最低收盘价)×100dv8=(price(i,5)-min(price(i:i+8,5)))/(max(price(i:i+8,5))-min(price(i:i+8,5)));%dv9:30日未成熟随机值 rsv =(收盘价 – 30日内最低收盘价)/(30日内最高收盘价 – 30日内最低收盘价)×100dv9=(price(i,5)-min(price(i:i+29,5)))/(max(price(i:i+29,5))-min(price(i:i+29,5)));%dv10:OBV能量潮量比dv10=sign(price(i,5)-price(i+1,5))*price(i,6)/(sum(price(i:i+4,6))/5);% dv11:变动率指标 ROC=(今天的收盘价-N日前的收盘价)/N日前的收盘价*100dv11=100*(price(i,5)-price(i+11,5))/price(i+11,5);sampleValue(i,:)=[dv1,dv2,dv3,dv4,dv5,dv6,dv7,dv8,dv9,dv10,dv11];
end
3.几个因子的时间变化趋势
常见的股票技术因子学习以及计算相关推荐
- lightGBM+158个技术因子实证A股十年数据:年化24%,回撤10%
持续行动1期 47/100,"AI技术应用于量化投资研究". 关于量化交易鼻祖西蒙斯的各种正史.野史来看,他出道时做基本面分析,亏了十年,后来改做高频量化,后又引入机器学习专家,进 ...
- 《软件调试分析技术》学习笔记
<软件调试分析技术>学习笔记(一) 今天开始写写一些心得体验. <软件调试分析技术>是好友Monster的处女作品.作为一直以的好伙伴,他是我看着长大的,(*^__^*) 嘻嘻 ...
- Nat. Commun.速递:深度学习在计算生物学中的应用综述
来源:集智俱乐部 作者:郭瑞东 审校:梁金 编辑:邓一雪 摘要 蛋白质结构预测是计算生物学中一个长达半个世纪的重大挑战,最近,深度学习在这方面取得了前所未有的进展.4月1日,一项发表在 Natur ...
- NVIDIA教你用TensorRT加速深度学习推理计算 | 量子位线下沙龙笔记
主讲人:Ken(何琨)| NVIDIA开发者社区经理 张康 屈鑫 编辑整理 量子位 出品 | 公众号 QbitAI 12月22日,量子位联合NVIDIA英伟达举行了线下交流会,跟现场近百位开发者同学共 ...
- 常见的12个深度学习面试问题(提高篇)
序言 整理了一篇来自公众号AI公园的文章,原文链接:常见的12个深度学习面试问题,通过对文章知识点整理来巩固所学的知识,也为了以后更好的复习. 正文 1. 介绍Batch Normalization的 ...
- 【Python】基金/股票 最大回撤率计算与绘图详解(附源码和数据)
如果你想找的是求最大回撤的算法,请跳转:[Python] 使用动态规划求解最大回撤详解 [Python]基金/股票 最大回撤率计算与绘图详解(附源码和数据) 0. 起因 1. 大成沪深300指数A 5 ...
- 区块链技术指南学习笔记2
区块链技术指南学习笔记2 密码学 Hash 算法与数字摘要 常见hash算法 数字摘要 加解密算法 加解密系统基本组成 对称加密算法 非对称加密算法 消息认证码与数字签名 消息认证码 数字签名 数字证 ...
- Talib技术因子详解(三)
talib安装方式:pip install Ta-lib Tushare数据获取请参考:金融量化分析基础环境搭建 数据获取代码请参考:Talib技术因子详解(一) 17.ADX 平均趋向指数,调用方式 ...
- 三维荧光平行因子学习记录--(二)荧光区域积分(FRI)
三维荧光平行因子学习记录–(二)荧光区域积分(FRI) 注:本文仅作为自己的学习记录以备以后复习查阅 所有步骤和代码参考知乎上两位大佬在这里po一下他们的主页: https://www.zhihu.c ...
最新文章
- JAVA中经过nginx反向代理获取客户端ip并获取相关坐标等信息
- boost::inplace_merge相关的测试程序
- 微软官方上线的Python教程,7个章节就把Python说通了!
- linux 64位 安装qt creator .run,Qt Creator安装
- 【网络编程】之五、异步模型
- keil uvision2 c语言调试,keil uvision2
- 纯干!那些可能被你忽略的Mac系统自带工具
- 这是一个关于软件开发的博客。
- jenkins 安装 和自动部署的 一些配置
- 模拟linux内核异常,Linux内核异常
- innodb数据备份语句
- 【SAM】loj#6401. 字符串
- WML语言基础(WAP建站)六
- 登录服务器时显示 IE COOKIE阻止,[IE问题]IE相关设置-智明协同
- excel制作甘特图
- arrayblockingqueue java_Java ArrayBlockingQueue take()用法及代码示例
- 联想一体机计算机用户名锁定,联想电脑输入密码多次被锁定怎么办
- Taro 与 React 的差异(Taro的约束(keng))
- Android APP在线自动更新安装
- 2018前端精品面试文章总结
热门文章
- oracle数值型转为char类型,PLSQL: Oracle函数to_char转化数字型指定小数点位数的技巧...
- 软件工程专插本_2021年专插本部分招生专业(拟),广科/广东理工/华商/培正/松田/工商大!...
- centos7设置键盘类型_CentOS 7 系统区域(语言)和键盘设置
- 电容屏物体识别_相比传统的触摸屏,电容式触摸屏的优势
- 30 校准_校准or质控,傻傻分不清楚
- java命令框编译代码的方式_在命令行模式下如何编译运行Java代码
- everything安装版和便携版有什么区别_A2奶粉内幕:国行版和澳洲版有什么区别 贵的不一定好!...
- Ubuntu20.04 服务器版安装
- gem for onenote安装教程
- [渝粤教育] 莆田学院 电机与拖动基础(一) 参考 资料