免责声明:本文基于个人使用体验,与任何厂商无商业关系。内容仅供技术交流参考,不构成投资建议。


一、前言

K线数据处理是量化策略的基础。均线、MACD、RSI等技术指标的计算方法需要熟练掌握。做了二十年期货交易,我常用天勤量化处理K线数据。

今天分享Python期货K线数据处理和常用技术指标的计算方法。


二、K线数据获取

from tqsdk import TqApi, TqAuth

api = TqApi(auth=TqAuth("账户", "密码"))
klines = api.get_kline_serial("SHFE.rb2510", 300, 500)

# K线字段:open, high, low, close, volume, open_interest, datetime
print(klines.columns)
print(klines.tail())

api.close()

三、常用技术指标

1. 均线MA

from tqsdk.ta import MA

ma5 = MA(klines, 5)
ma20 = MA(klines, 20)
klines['ma5'] = ma5.ma
klines['ma20'] = ma20.ma

2. MACD

from tqsdk.ta import MACD

macd = MACD(klines, 12, 26, 9)
klines['dif'] = macd.dif
klines['dea'] = macd.dea
klines['bar'] = macd.bar

3. RSI

from tqsdk.ta import RSI

rsi = RSI(klines, 14)
klines['rsi'] = rsi.rsi

4. 布林带

from tqsdk.ta import BOLL

boll = BOLL(klines, 26)
klines['boll_upper'] = boll.top
klines['boll_mid'] = boll.mid
klines['boll_lower'] = boll.bottom

四、完整示例

from tqsdk import TqApi, TqAuth, TqBacktest
from tqsdk.ta import MA, MACD, RSI
from datetime import date

api = TqApi(backtest=TqBacktest(start_dt=date(2024,1,1), end_dt=date(2024,6,30)), auth=TqAuth("账户","密码"))
klines = api.get_kline_serial("SHFE.rb2510", 300, 200)

while True:
    api.wait_update()
    if api.is_changing(klines) and len(klines) >= 50:
        ma5 = MA(klines, 5).ma.iloc[-1]
        ma20 = MA(klines, 20).ma.iloc[-1]
        rsi = RSI(klines, 14).rsi.iloc[-1]
        
        close = klines['close'].iloc[-1]
        if close > ma20 and ma5 > ma20 and rsi < 70:
            # 策略逻辑
            pass

api.close()

五、总结

Python期货K线数据处理,天勤量化提供完整的ta库,MA、MACD、RSI、BOLL等指标可直接调用,与K线数据无缝衔接。建议先熟悉基础指标,再组合使用。

量化交易有风险,指标只是工具,策略逻辑才是核心。


声明:本文基于个人学习经验整理,仅供技术交流参考,不构成任何投资建议。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐