3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant (聚宽) 平台的技术分析指标库(jqlib.technical_analysis)中,VOL 函数用于获取成交量及其移动平均线数据。这个函数的设计参考了传统炒股软件(如通达信、同花顺)中的 VOL 指标。
在函数 VOL(security_list, check_date, M1=5, M2=10, unit = '1d', include_now = True, fq_ref_date = None) 中:
M1:代表第一条成交量移动平均线的计算周期。默认值为 5,表示计算 5 个单位周期(如果 unit='1d',则为 5 日)的成交量简单移动平均线(MAVOL1)。M2:代表第二条成交量移动平均线的计算周期。默认值为 10,表示计算 10 个单位周期(如果 unit='1d',则为 10 日)的成交量简单移动平均线(MAVOL2)。在通达信等软件中,VOL 指标的公式通常如下:
VOLUME:VOL,VOLSTICK;
MAVOL1:MA(VOLUME,M1);
MAVOL2:MA(VOLUME,M2);
聚宽的 VOL 函数正是为了复现这一指标,它通常会返回三个值(具体以 API 实际返回的字典或元组为准,通常包含当期成交量、M1周期均量、M2周期均量)。
假设你想获取平安银行(000001.XSHE)在某天的成交量,以及它的 5 日均量和 10 日均量:
from jqlib.technical_analysis import VOL
# 获取 2023-10-10 的 VOL 指标数据
# M1=5 表示 5日均量,M2=10 表示 10日均量
vol_data, mavol1_data, mavol2_data = VOL('000001.XSHE', check_date='2023-10-10', M1=5, M2=10, unit='1d')
print("当日成交量:", vol_data['000001.XSHE'])
print("5日平均成交量:", mavol1_data['000001.XSHE'])
print("10日平均成交量:", mavol2_data['000001.XSHE'])
总结:M1 和 M2 就是用来让你自定义想要观察的成交量均线周期的,你可以根据自己的策略需求,将它们修改为 5、10、20、60 等任意整数周期。