在量化交易中,成交量相对强弱指数(Volume Relative Strength Index,简称VRSI)是一种结合了价格和成交量信息的技术分析工具。VRSI指标通过比较一定周期内成交量的上涨和下跌幅度来评估市场的超买和超卖状态。本篇文章将介绍如何识别VRSI指标,并使用Python代码生成交易信息,以及回测策略的效果。
一、VRSI指标的计算
-
-
-
上涨部分(Up Volume):当日收盘价高于前一日收盘价时的成交量。 -
下跌部分(Down Volume):当日收盘价低于前一日收盘价时的成交量。
-
-
-
-
-
计算一定周期内上涨部分的平均值(Up Average)。 -
计算一定周期内下跌部分的平均值(Down Average)。
-
-
-
-
VRSI = 100 – (100 / (1 + Up Average / Down Average))
-
二、生成交易信息

import pandas as pd
import numpy as np
import pandas_datareader as pdr
from datetime import datetime
# 计算VRSI指标
def calculate_vrsi(data, period=14):
data['Up Volume'] = np.where(data['Close'] > data['Close'].shift(1), data['Volume'], 0)
data['Down Volume'] = np.where(data['Close'] < data['Close'].shift(1), data['Volume'], 0)
data['Up Average'] = data['Up Volume'].rolling(window=period).mean()
data['Down Average'] = data['Down Volume'].rolling(window=period).mean()
data['VRSI'] = 100 - (100 / (1 + data['Up Average'] / data['Down Average']))
return data
# 设置VRSI阈值
buy_threshold = 30
sell_threshold = 70
# 生成交易信号
data = calculate_vrsi(data)
data['Signal'] = 0
data['Position'] = 0
# 当VRSI值从低于30上升超过30时买入
data.loc[(data['VRSI'] > buy_threshold) & (data['VRSI'].shift(1) < buy_threshold), 'Signal'] = 1
# 当VRSI值从高于70下降超过70时卖出
data.loc[(data['VRSI'] < sell_threshold) & (data['VRSI'].shift(1) > sell_threshold), 'Signal'] = -1
四、结论
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/105423
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!