3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 JoinQuant(聚宽)平台上,有多种方式可以直接获取或计算各种技术指标。平台不仅内置了丰富的技术分析函数库和因子库,还支持量化界最常用的第三方技术指标库。以下是三种最常用的方法:
jqlib.technical_analysis 库聚宽官方为了方便用户,基于通达信、东方财富、同花顺等的公式,封装了一个技术分析指标库。你可以直接导入并调用这些函数。
使用示例:
# 导入技术分析库
from jqlib.technical_analysis import *
# 定义股票池列表
security_list = ['000001.XSHE', '000002.XSHE']
# 计算并输出 GDX (济安线) 值
gdx_jax, gdx_ylx, gdx_zcx = GDX(security_list, check_date='2017-01-04', N=30, M=9)
for stock in security_list:
print(f"{stock} 济安线: {gdx_jax[stock]}")
注:你可以通过在研究环境中输入 函数名?(例如 GDX?)来查看具体指标的计算公式和参数说明。
jqfactor 获取技术因子聚宽的因子库中已经预先计算好了大量的技术指标因子(如 MACD、BOLL、EMA 等),你可以直接通过 get_factor_values 函数获取历史的指标数值,无需自己手动计算。
支持的常见技术因子包括:
MACDC:平滑异同移动平均线boll_down / boll_up:布林线下轨/上轨EMA5 / EMAC10 等:指数移动均线MFI14:资金流量指标使用示例:
from jqfactor import get_factor_values
# 获取平安银行 2023-01-01 到 2023-01-10 的 MACD 和 BOLL 上轨数据
factor_data = get_factor_values(
securities=['000001.XSHE'],
factors=['MACDC', 'boll_up'],
start_date='2023-01-01',
end_date='2023-01-10'
)
# 查看 MACD 数据
print(factor_data['MACDC'])
TA-Lib (推荐)TA-Lib 是量化交易领域最著名、最广泛使用的技术分析库,包含了 150 多种技术指标(如 MACD, RSI, KDJ, ATR 等)。JoinQuant 环境中已经预装了该库。
使用思路:
先通过 get_price 或 attribute_history 获取股票的 close, high, low, volume 等基础数据,然后将其转换为 numpy.ndarray 传入 talib 函数中计算。
使用示例:
import jqdata
import talib
import numpy as np
def initialize(context):
g.security = '000001.XSHE'
run_daily(market_open, time='every_bar')
def market_open(context):
# 获取过去 35 天的收盘价数据
close_data = attribute_history(g.security, 35, '1d', ['close'])
close_prices = close_data['close'].values
# 确保数据足够计算指标(例如 MACD 默认需要 33 天以上数据)
if len(close_prices) > 33:
# 计算 MACD
macd, macdsignal, macdhist = talib.MACD(close_prices, fastperiod=12, slowperiod=26, signalperiod=9)
# 获取最新一天的 MACD 柱状值
current_macdhist = macdhist[-1]
print(f"当前 MACD 柱状值为: {current_macdhist}")
# 计算 RSI (14日)
rsi = talib.RSI(close_prices, timeperiod=14)
print(f"当前 RSI 值为: {rsi[-1]}")
jqfactor。jqlib.technical_analysis。TA-Lib。