雙均線策略:量化交易中的黃金法則

木头左發表於2024-05-15

在量化交易的世界裡,雙均線策略以其簡單、高效而著稱。這種策略利用兩條不同週期的移動平均線(MA)來判斷市場趨勢,是許多交易者入門的不二選擇。本文將深入探討雙均線策略的原理,並展示如何在聚寬平臺上實現這一策略。

策略原理:雙均線的動態平衡

雙均線策略的核心在於比較兩條移動平均線的交叉點。短期均線(如5日均線)反映了近期的價格動態,而長期均線(如60日均線)則代表了較長期的價格趨勢。當短期均線上穿長期均線時,被認為是買入訊號;反之,短期均線下穿長期均線則被視為賣出訊號。
在聚寬平臺上,我們可以透過Python程式碼來實現雙均線策略。以下是一個簡化的實現過程:

初始化策略

def initialize(context):
    set_benchmark('000300.XSHG')  # 設定滬深300指數為基準
    set_option('use_real_price', True)  # 使用實時價格交易
    g.short_window = 5  # 設定短期均線視窗為5天
    g.long_window = 60  # 設定長期均線視窗為60天
    run_daily(trade, time='every_bar')  # 每天執行交易邏輯

計算移動平均線

def calculate_ma(stock):
    # 獲取股票的歷史價格資料
    prices = attribute_history(stock, g.long_window, '1d', ['close'])
    # 計算短期和長期移動平均線
    short_ma = prices['close'].mean()
    long_ma = prices['close'].shift(g.short_window).mean()
    return short_ma, long_ma

交易邏輯

def trade(context):
    for stock in context.portfolio.positions:
        short_ma, long_ma = calculate_ma(stock)
        # 判斷買入訊號
        if context.portfolio.positions[stock].closeable_amount == 0 and short_ma > long_ma * 1.01:
            order_target_percent(stock, 1.0)  # 全倉買入
        # 判斷賣出訊號
        elif context.portfolio.positions[stock].closeable_amount > 0 and short_ma < long_ma:
            order_target_percent(stock, 0.0)  # 全倉賣出

市場有風險,交易需謹慎。 感興趣的朋友,可以在下方公號內回覆:001,即可獲取原始碼,共同交流!

我是木頭左,感謝各位童鞋的點贊、收藏,我們下期更精彩!

相關文章