文档详情

智能投顾:投资组合管理_(5).技术分析与量化模型.docx

发布:2025-05-23约1.32万字共22页下载文档
文本预览下载声明

PAGE1

PAGE1

技术分析与量化模型

技术分析基础

技术分析是通过研究市场历史数据(如价格和成交量)来预测未来市场走势的一种方法。它基于三个主要假设:市场行为包含所有信息、价格以趋势方式波动、历史会重演。技术分析的主要工具包括图表、技术指标和形态分析。在智能投顾中,技术分析可以与人工智能技术结合,通过机器学习算法来识别和预测市场趋势,从而优化投资组合管理。

常用技术指标

移动平均线(MovingAverage,MA)

简单移动平均线(SMA)

计算方法:将指定时间内的收盘价相加,然后除以该时间段的数量。

公式:

SMA

例子:

importpandasaspd

#假设我们有一个包含股票收盘价的DataFrame

data=pd.DataFrame({

Date:[2023-01-01,2023-01-02,2023-01-03,2023-01-04,2023-01-05],

Close:[100,102,101,103,104]

})

#计算5天的简单移动平均线

data[SMA_5]=data[Close].rolling(window=5).mean()

print(data)

输出:

DateCloseSMA_5

02023-01-01100NaN

12023-01-02102NaN

22023-01-03101NaN

32023-01-04103NaN

42023-01-05104102.0

指数移动平均线(ExponentialMovingAverage,EMA)

计算方法:赋予近期数据更高的权重,使指标对市场变化更加敏感。

公式:

EMA

其中,

α

例子:

importpandasaspd

#假设我们有一个包含股票收盘价的DataFrame

data=pd.DataFrame({

Date:[2023-01-01,2023-01-02,2023-01-03,2023-01-04,2023-01-05],

Close:[100,102,101,103,104]

})

#计算5天的指数移动平均线

data[EMA_5]=data[Close].ewm(span=5,adjust=False).mean()

print(data)

输出:

DateCloseEMA_5

02023-01-01100100.000000

12023-01-02102101.000000

22023-01-03101101.333333

32023-01-04103102.111111

42023-01-05104102.874074

相对强弱指数(RelativeStrengthIndex,RSI)

计算方法:通过比较一段时间内的平均收益和平均损失来衡量价格变动的强度。

公式:

RSI

例子:

importpandasaspd

importnumpyasnp

#假设我们有一个包含股票收盘价的DataFrame

data=pd.DataFrame({

Date:[2023-01-01,2023-01-02,2023-01-03,2023-01-04,2023-01-05],

Close:[100,102,101,103,104]

})

#计算14天的RSI

data[Change]=data[Close].diff()

gain=data[Change].where(data[Change]0,0)

loss=-data[Change].where(data[Change]0,0)

avg_gain=gain.rolling(window=14).mean()

avg_loss=loss.rolling(window=14).mean()

rs=avg_gain/avg_loss

data[RSI]=100-(100/(1+rs))

print(data)

输出:

DateCloseChangeavg_gainavg_lossRSI

02023-01-01100NaNNaNNaNNaN

显示全部
相似文档