AI量化知识树

AI选股重要指标及公式图示详解

由bqw9z8tc创建,最终由bqw9z8tc 被浏览 183 用户

基本概念

AI选股通过人工智能技术对股票市场的数据进行分析和预测,从而筛选出具有较高投资价值的股票。这些指标可以包括多种因素,如技术指标、基本面指标、市场情绪指标等。AI选股通常涉及复杂的机器学习模型,这里将介绍一些基础但重要的金融指标,这些指标常被用于构建更复杂的AI选股模型。

1. 移动平均线(Moving Averages)

移动平均线是分析股价趋势的基本工具,包括简单移动平均(SMA)和指数移动平均(EMA)。

简单移动平均SMA公式

SMA(N)=( ∑(N, i=1), Close i) / N​

Close i是第i天的收盘价,N是时间窗口的长度。

指数移动平均EMA公式

EMA(N)=(Close t ​ × 2 / (N+1) ) + EMA yesterday ​ ×(1− 2 / (N+1)​ )

其中, Close t ​是今天的收盘价, N 是时间窗口的长度, EMA yesterday EMA yesterday ​ 是昨天的EMA值。

2. 相对强弱指数(Relative Strength Index, RSI)

RSI是一种动量振荡器,用于评估股价的过度买入或过度卖出条件。

RSI公式: RSI=100−100/(1+RS)

其中, RSI(相对强度)是平均上涨天数与平均下跌天数的比值。

3. 布林带(Bollinger Bands)

布林带由一个中间的SMA和两个标准差范围构成,用于评估价格波动性。

布林带公式:

中线:20日SMA

上线:20日SMA + (20日价格标准差 × 2)

下线:20日SMA - (20日价格标准差 × 2)

下面使用Python来生成这些指标的图表示例。从一个假设的股票价格数据集开始,然后计算并展示上述指标。\n

股价与移动平均线(图1):这里包括了股价本身(蓝线),20日简单移动平均线(SMA,橙线),以及20日指数移动平均线(EMA,绿线)。移动平均线有助于展示股价的趋势。

相对强弱指数(RSI)(图2):14日RSI(蓝线)被用来衡量股票的过度买入或过度卖出状态。RSI值通常在30到70之间波动,超过这个范围可能表示股价处于极端状态。

布林带(图3):股价(蓝线)以及其上下的两条布林带(橙色和绿色线)。布林带之间的灰色区域表示股价的正常波动范围。当股价触及或超过这些带时,可能表示市场的波动性增加。

4. MACD(Moving Average Convergence Divergence)

MACD是一个用于发现资产价格动量变化的趋势跟踪动量指标。

MACD公式:

MACD=EMAshort(12) − EMAlong(26)

信号线Signal line=EMA(MACD,9)

其中,EMA_{short}(12)和EMA_{long}(26)分别是12日和26日的指数移动平均,信号线Signal line是MACD的9日EMA。

5. 均线交叉

均线交叉是一种基于移动平均线的交易策略,当短期均线穿越长期均线时发出买入或卖出信号。

金叉:当短期均线(如5日均线)上穿长期均线(如20日均线)时,被视为买入信号。

死叉:当短期均线下穿长期均线时,被视为卖出信号。

6. 成交量加权平均价格(VWAP, Volume Weighted Average Price)

VWAP是一个交易基准,表示股票的“平均”价格,该价格根据成交量和价格计算。

VWAP公式:VWAP= ∑(Price×Volume) ​/ ∑Volume

7. 波动率(Volatility)

波动率是衡量价格波动幅度的指标,通常通过计算价格的标准差或方差来得到。

历史波动率公式: ​

用Python来生成这些指标的图表示例,使用之前创建的股票价格数据集。

MACD及其信号线(图1):这里展示了MACD(蓝线)和其信号线(橙线)。MACD是通过计算两个不同周期的EMA之间的差异得到的,而信号线是MACD的EMA。MACD和信号线的交叉点常被用作买入或卖出的信号。

成交量加权平均价格(VWAP)(图2):VWAP(橙线)表示基于成交量加权的平均股价。它提供了一个基准价格,帮助投资者判断实际交易价格是否公平。

波动率(图3):这里显示了20日的价格波动率(蓝线),即价格的标准差。波动率是衡量价格波动幅度的关键指标,对于风险管理和交易策略制定非常重要。

这些指标各自提供了股价行为的不同视角,是构建AI选股模型时常用的数据源。AI选股模型通常会综合这些指标以及其他多种数据源(如财务报表、宏观经济数据等)来生成投资决策。

一些更高级的指标和分析方法,这些方法在构建复杂的AI选股模型时非常有用。以下是一些进阶的概念和技术:

8. 因子分析(Factor Analysis)

  • 因子分析在量化投资中非常重要,它涉及识别影响股票收益的多个因素(如市值、市盈率、盈利增长率等),并基于这些因素构建多因子选股模型。
  • 应用:在量化投资中,通过识别影响股票收益的因素(如市值、市盈率、盈利增长率等),构建多因子模型。
  • 方法:使用统计方法来识别哪些因素与股票收益相关,并根据这些因素对股票进行打分和排序。

9. 事件驱动策略

  • 事件驱动策略涉及分析特定事件(如收购、财报发布、政策变化)对股价的影响。AI技术可以用来从大量的新闻和财务报告中提取信息,评估这些事件对市场的潜在影响。
  • 应用:分析特定事件(如并购、财报发布、政策变化)对股价的影响。
  • 方法:利用自然语言处理(NLP)技术从新闻、财报、公告中提取关键信息,评估其对股价的潜在影响。

10. 情绪分析

  • 情绪分析指的是分析市场新闻、社交媒体等来源中的文字信息,以识别和量化市场情绪。这种分析有助于理解市场对某些事件的反应可能如何影响股价。
  • 应用:分析市场新闻、社交媒体等来源的文字信息,量化市场情绪。
  • 方法:使用NLP技术识别文本中的情绪倾向(如积极、消极、中性),并将这些情绪与市场数据相关联。

11. 机器学习模型

  • 机器学习模型,如随机森林、支持向量机、神经网络等,可以被用来预测股价走势或识别投资机会。这些模型通过分析历史数据学习识别股价走势的模式。
  • 应用:利用历史数据来预测股价走势或识别投资机会。
  • 方法:使用各种机器学习模型(如随机森林、支持向量机、神经网络)来分析数据和识别模式。

12. 高频交易策略

  • 高频交易策略利用复杂的算法在极短的时间内进行大量交易,这些策略依赖于极快的数据处理和执行速度,常常是AI技术的应用领域。
  • 应用:在极短的时间内执行大量交易,利用市场微观波动获利。
  • 方法:使用高速计算和算法执行在毫秒级甚至更短时间内的买卖决策。

这些高级技术和指标的应用通常需要深厚的金融知识、数据科学技能以及对市场的深刻理解。它们在AI选股领域中扮演着至关重要的角色,但同时也要求高度的专业性和技术能力。

附Python代码

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 创建一个示例股票价格数据集
np.random.seed(0)
dates = pd.date_range('2023-01-01', periods=100)
prices = pd.Series(np.random.normal(0, 1, size=len(dates)).cumsum() + 100, dates)

# 计算SMA和EMA
sma = prices.rolling(window=20).mean()
ema = prices.ewm(span=20, adjust=False).mean()

# 计算RSI
delta = prices.diff(1)
gain = (delta.where(delta > 0, 0)).rolling(window=14).mean()
loss = (-delta.where(delta < 0, 0)).rolling(window=14).mean()
rs = gain / loss
rsi = 100 - (100 / (1 + rs))

# 计算布林带
std = prices.rolling(window=20).std()
upper_band = sma + (std * 2)
lower_band = sma - (std * 2)

# 绘制图表
plt.figure(figsize=(14, 10))

# 绘制价格及移动平均线
plt.subplot(3, 1, 1)
plt.plot(prices, label='Price')
plt.plot(sma, label='20-day SMA')
plt.plot(ema, label='20-day EMA')
plt.title('Stock Price with SMA and EMA')
plt.legend()

# 绘制RSI
plt.subplot(3, 1, 2)
plt.plot(rsi, label='14-day RSI')
plt.title('Relative Strength Index (RSI)')
plt.legend()

# 绘制布林带
plt.subplot(3, 1, 3)
plt.plot(prices, label='Price')
plt.plot(upper_band, label='Upper Bollinger Band')
plt.plot(lower_band, label='Lower Bollinger Band')
plt.fill_between(dates, lower_band, upper_band, color='grey', alpha=0.3)
plt.title('Bollinger Bands')
plt.legend()

plt.tight_layout()
plt.show()


# 计算MACD及其信号线
macd = ema.ewm(span=12, adjust=False).mean() - ema.ewm(span=26, adjust=False).mean()
signal_line = macd.ewm(span=9, adjust=False).mean()

# 计算VWAP(使用随机生成的成交量)
volumes = pd.Series(np.random.randint(100, 1000, size=len(dates)), dates)
vwap = (prices * volumes).cumsum() / volumes.cumsum()

# 计算波动率
volatility = prices.rolling(window=20).std()

# 绘制图表
plt.figure(figsize=(14, 12))

# 绘制MACD及其信号线
plt.subplot(3, 1, 1)
plt.plot(macd, label='MACD')
plt.plot(signal_line, label='Signal Line')
plt.title('Moving Average Convergence Divergence (MACD)')
plt.legend()

# 绘制VWAP
plt.subplot(3, 1, 2)
plt.plot(prices, label='Price')
plt.plot(vwap, label='VWAP')
plt.title('Volume Weighted Average Price (VWAP)')
plt.legend()

# 绘制波动率
plt.subplot(3, 1, 3)
plt.plot(volatility, label='Volatility (20-day SD)')
plt.title('Volatility')
plt.legend()

plt.tight_layout()
plt.show()

量化资源汇总

开发平台

量化交易策略开发平台入口(PC端)

量化投资金融历史数据平台

量化交易因子平台

量化资源学习入口

技术文档

DAI — 金融数据库平台

DAI — SQL数据函数列表

BigAlpha — 因子数据库平台

QuantChat — AI量化开发助手

BigTrader - 交易引擎(HFTrade)

开发资源

FAI - 分布式云计算加速集群

AIFlow - 任务管理

BigCharts - 量化数据可视化

BigCharts - 图表接口

Bigcharts - 配置项

BigBrain - 知识库插件

量化策略

年化81%持仓10支策略

基于Stockranker的超跌反弹策略

AI量化交易策略精华汇总

AI量化策略快速理解

常见量化交易模型策略

大跌行情下的量化策略

建立趋势跟踪策略的五个指标

双均线金叉死叉策略

海龟量化策略

小市值策略

多头排列回踩策略

talib技术分析指标策略

业绩快报事件驱动策略

配对交易策略

策略回测结果的各个指标解析

基础因子

Alpha因子

Beta贝塔系数

PE市盈率

PB市净率

ROE净资产收益率

夏普比率SharpeRatio

布林带BOLL

换手率TurnOver

波动率Volatility

相对强弱指数RSI

移动平均线SMA/EMA

最大回撤

年化收益率

基本常识

量化交易零基础入门

https://bigquant.com/wiki/doc/6yep5yyw5lqk5pit5yiw5bqv5piv5oco5lmi6lwa6zkx55qe-b5WJj0v0Jf

https://bigquant.com/wiki/doc/5pwj5oi35aac5l2v5yga6yep5yyw5lqk5pit-Ni7gIFHlnG

https://bigquant.com/wiki/doc/2023-u7IPZL8JHB

https://bigquant.com/wiki/doc/ai-5jImRZR1dA










\

标签

移动平均线AI选股技术指标AI选股策略
{link}