《MATLAB金融算法分析实战》之量化投资趋向指标1— python实现

《MATLAB金融算法分析实战》之量化投资趋向指标1— python实现

这本书我个人比较喜欢,也学习到了很多东西,matlab上学的时候没好好学,最近发现python写一遍也很有意思,除了速度慢点。本篇博客仅当作个人记录用,推荐大家买原版书去学习。

《MATLAB金融算法分析实战:基于机器学习的股票量化分析》全面系统地讲解了MATLAB金融算法分析与应用,以及金融数据挖掘中的趋向和发展趋势指标,并结合具体的机器学习算法分析,让读者深入学习和掌握MATLAB金融数据机器学习算法。

第四章 量化投资趋向指标

量化投资趋向指标是广大投资者经常参考的指标,例如MACD和QACD曲线,很多的散户、新手也会在不知其所以然的情况下,进行自行判断股票的涨跌趋势。本章主要围绕升降线指标ACD、动向平均数指数ADX、多空指数BBI、佳庆指标CHO、市场趋势指标CYE、方向标准离差指数DDI、平均线差指标DFMA、趋向指标DMI、简单波动指标EMV、鬼道线指标GDX、绝路航标指标JLHB等内容。

4.1 升降线指标(ACD)

升降线(ACD)是分析股票收盘价与股票最高价、股票最低价间关系的指标。
升降线指标(ACD)下降,而股票价格上升时,此时投资者可以卖出手中股票;
升降线指标(ACD)上升,而股票价格下降时,投资者可以考虑买入该股票;
升降线(ACD)指标上穿其20日均线时,为买入信号;升降线(ACD)指标下穿其20日均线时,为卖出信号

ACD升降线指标的计算公式如下:

在这里插入图片描述
其中,LC为昨日股票收盘价。
如果今天的股票收盘价大于昨日的股票收盘价,则今天DIF为今天的股票收盘价与今天的股票最低价和昨日的股票收盘价的最小值的差值;如果今天的股票收盘价小于等于昨日股票收盘价,则今天的DIF为今天的股票收盘价与今天的股票最高价和昨日的股票收盘价的最小值的差值。
如果今天的股票收盘价等于昨天的股票收盘价,则今天的ACD计算值为昨天的ACD计算值;如果今天的股票收盘价不等于昨天的股票收盘价,则今天的ACD计算值为今天的DIF计算值与昨天的ACD值之和。

具体的ACD升降线指标的函数程序如下:

#highprice为股票最高价,lowprice为股票最低价,closeprice为股票收盘价
def ACD(highprice,lowprice,closeprice):
    dif = closeprice.copy()
    acd = [0 for x in range(len(closeprice))]
    for i in range(1,len(closeprice)):
        if closeprice[i]>closeprice[i-1]:
            dif[i] = closeprice[i]-min(lowprice[i],closeprice[i-1])
        else:
            dif[i] = closeprice[i]-max(highprice[i],closeprice[i-1])
        
        if closeprice[i] == closeprice[i-1]:
            acd[i] = acd[i-1]
        else:
            acd[i] = acd[i-1]+dif[i]
    
    del dif
    return acd

测试数据:近一周8连涨停的复旦复华(600624)历史数据(数据来源:网易财经)

爬取股票数据,参考待定

url = 'http://quotes.money.163.com/service/chddata.html?code=0{}&start={}&end={}&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER;VOTURNOVER;VATURNOVER;TCAP;MCAP'.format(stockcode,starttime,endtime)
urllib.request.urlretrieve(url, filepath+stockcode+'.csv')

data = pd.read_csv(filepath+stockcode+'.csv',parse_dates=True,engine = 'python')
data.sort_values(by='日期', inplace=True, ascending=True)
data = data.reset_index(drop = True)
data['日期'] = pd.to_datetime(data['日期'],format='%Y-%m-%d')
data['月份'] = data['日期'].dt.month
data.head()

在这里插入图片描述
用matplotlib看一下

fig,ax = plt.subplots(figsize = (14,10))
df.plot(x = '日期',y = '收盘价',color = 'r',ax = ax)
df.plot(x = '日期',y = 'ACD',color = 'b',ax = ax)

在这里插入图片描述
可以看出,升降线指标ACD逼近股票的走势,但是相对滞后股票的走势,可进行短期预测。

引用:
[1]MATLAB金融算法分析实战 https://yuedu.baidu.com/ebook/72c2fe159a6648d7c1c708a1284ac850ad0204d5?pn=1&click_type=10010002
[2]网易财经 http://quotes.money.163.com/trade/lsjysj_600624.html#01b07

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【课程简介】 本课程适合所有对金融知识和MATLAB感兴趣的同学,通过本课程,你不仅可以学习到如何应用MATLAB,还可以学习到如何使用MATLAB进行金融数据处理与金融数据分析 【完整课程列表】 基于MATLAB金融数据分析 金融MATLAB-第01,02章 金融市场与金融产品 MATLAB基础知识(共47页).ppt 基于MATLAB金融数据分析 金融MATLAB-第03章 MATLAB与Excel文件的数据交换(共41页).ppt 基于MATLAB金融数据分析 金融MATLAB-第05章 贷款按揭与保险产品 现金流分析案例(共44页).ppt 基于MATLAB金融数据分析 金融MATLAB-第06章 随机模拟 概率分布于随机数(共33页).ppt 基于MATLAB金融数据分析 金融MATLAB-第07章 cftool数据拟合 GDP与用电量增速分析(共22页).ppt 基于MATLAB金融数据分析 金融MATLAB-第08章 策略模拟 组合保险策略分析(共32页).ppt 基于MATLAB金融数据分析 金融MATLAB-第09章 KMV模型求解 方程与方程组的数值解(共31页).ppt 基于MATLAB金融数据分析 金融MATLAB-第10章 期权定价模型与数值方法(共23页).ppt 基于MATLAB金融数据分析 金融MATLAB-第12章 马克维兹均值 方差模型(共19页).ppt 基于MATLAB金融数据分析 金融MATLAB-第13章 投资组合绩效(共22页).ppt 基于MATLAB金融数据分析 金融MATLAB-第17章 固定收益证券的久期与凸度(共12页).ppt 基于MATLAB金融数据分析 金融MATLAB-第18章 利率的期限结构(共7页).ppt 基于MATLAB金融数据分析 金融MATLAB-第22章 技术分析 指标计算与绘图(共8页).ppt
MATLAB金融算法分析实战是利用MATLAB软件进行金融领域相关问题的处理和分析实践。通过应用各种金融算法和模型,对金融市场、投资组合、风险管理等进行量化分析和预测,从而辅助金融决策和投资策略的制定。 MATLAB具备强大的计算和建模能力,可以实现各种金融模型和算法的编程和实际应用。在金融市场分析方面,可以利用MATLAB进行技术分析,如绘制K线图、计算移动平均线和相对强弱指数等;也可以进行基本面分析,如财务比率计算和公司估值模型等。 在投资组合分析方面,可以利用MATLAB进行资产配置优化,通过数学方法和建模技术,确定最佳的投资组合权重,使得在风险允许下最大化预期收益;同时,还可以进行投资组合的风险分析,计算各类风险度量指标,如波动率和VaR等。 此外,MATLAB还可以应用于金融衍生品定价和风险管理。例如,可以使用MATLAB中的数值计算工具箱,对期权、期货等衍生品进行定价和风险分析;还可以利用蒙特卡洛模拟方法,通过多次模拟来估计衍生品的价格和风险度量。 总之,MATLAB金融算法分析实战是利用MATLAB软件进行金融问题的实际操作和分析。通过灵活应用各种金融模型和算法,可以更好地理解金融市场和投资组合,并对其进行量化分析和预测,辅助金融决策和投资策略的制定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值