R语言对股票风险“溃疡指数”( Ulcer Index)曲面图可视化

目标函数的平滑度对于优化的成功至关重要。可视化目标函数是一种检查平滑度的简便方法。

由Kaizong Ye,Liao Bao撰写

例如,让我们检查“溃疡指数”(  Ulcer Index)  ,这是一种风险度量,类似于“标准偏差”。

溃疡指数尝试通过衡量价格回撤来衡量持有交易或投资的压力。溃疡指数基于下降波动性有害、上升拨动性有利的概念。

不像金融行业通常用来衡量股票风险的标准差那样使用同样的权重来衡量上行波动和下行波动,溃疡指数使用了更加明智的方法。

×

定义的“溃疡指数 – UI”
一个技术指标,衡量下行风险,在深度和价格下跌的持续时间方面。溃疡指数(UI)的增加价值为代价以更远离近期新高,并以下降价格上升到新的高点。该指标通常是计算超过14天,该UI显示比例提款交易者可以从高在此期间所期望的。

用户界面的数值越大,时间越长的股票,回到前高。

该指标计算三个步骤:

提款比例= [(关闭 – 14周期高点)/ 14周期高关闭]×100
平方平均=(14-时期总和的百分比的亏损平方的)/ 14
溃疡指数=平方平均平方根

我们的外汇交易网站介绍投资期限 – “溃疡指数 – UI”
分析共同基金于1987年由彼得·马林和拜伦麦肯开发,该指标只着眼于下行风险,如标准偏差不是整体的波动性。

其中价格较高的是用在UI计算

通过调整回顾期内确定。 A 14天溃疡指数下降的措施关闭在过去14天的最高点。 50天溃疡指数下降的措施落50日高点。较长一段回溯向投资者提供他们可能面临较长期的价格下跌的更准确的表示。一个短期的回望期内提供交易员近期波动的测量仪。

使用溃疡指数来比较不同的投资选择。较低的平均的UI装置,低级缩编风险相比具有更高的平均用户界面的投资。应用移动平均的UI将显示哪些股票和基金具有较低的波动性整体。

看的尖峰UI,超出“正常”,也可以用来表示过度下跌风险,投资者可能希望避免通过退出多头头寸次。




它声明投资者们往往只在乎股票的下行风险,并不在乎上行风险(因为在投资者做多的情况下,上行风险是有利的,相当于盈利)。如果 Ulcer指数 是平滑函数,则可以使用例如非线性求解器轻松地将其用于优化。

#*****************************************************************
# 模拟数据
#*****************************************************************
load.packages('quantmod')
 
s = c(120,135,10) # 现货价格
r = c(0.15, 0.21,0.3) # 预期回报
sig  = c(0.12,0.36,0.17) # 预期标准差矩阵
r12 = 0.33 # 第一和第二资产之间的相关性
r13 = 0.3 #  第一和第三资产之间的相关性
r23 = 0.79 #第二和第三资产之间的相关性
 
# 构造相关矩阵
r = matrix(1,nr=3,nc=3)
r[upper.tri(rho)] = c(r12,r13,r23)
 
 
# 确保相关矩阵为正定义矩阵
 
rho = as.matrix(nearPD(rho, T)$mat)
 
 
#*****************************************************************
# 查看模拟价格
#*****************************************************************
 
plota.matplot(scale.one(xts.prices),main='Asset Perfromance')


课程

R语言数据分析挖掘必知必会

从数据获取和清理开始,有目的的进行探索性分析与可视化。让数据从生涩的资料,摇身成为有温度的故事。

立即参加

#*****************************************************************
# 计算溃疡指数
#*****************************************************************
apply(cho,1, function(x) {
	if(sum(x) > 1) NA
	else
 	last(ulcer(x[1]*prices[,1] + x[2]*prices[,2] + 1-sum(x)*prices[,3])
}
)
 
#*****************************************************************
#可视化曲面 - 静态 3D 绘图
#*****************************************************************
persp(tem, tem, z,col='green',xlab='x',ylab='y'

上面的代码创建了一个很难研究的静态曲面图。

要创建可以用鼠标旋转的交互式3D图,使用:

#*****************************************************************
# 可视化曲面 - 交互式 3D 绘图,使用鼠标旋转
#*****************************************************************
 
persp3d(temp, temp, z,col='green',xlab='x',ylab='y')

 溃疡指数 曲面光滑,是优化合适的选择。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds