1. 程式人生 > >量化交易入門筆記-MACD指標策略

量化交易入門筆記-MACD指標策略

'''
實現DIFF、DEA均為正,DIFF向上突破DEA,買入股票;
DIFF、DEA均為負,DIFF向下突破DEA,賣出股票
'''

import jqdata
from jqlib.technical_analysis import *

def initialize(context):
    # 要操作的股票
    g.security = '000001.XSHE'
    # 設定基準
    set_benchmark('000300.XSHG')
    # 開啟動態復權
    set_option('use_real_price', True)
    
def handle_data
(context, data): # 獲得要操作的股票 security = g.security # 呼叫MACD函式,並獲取股票的MACD指標的DIF/DEA和MACK的值 macd_diff, macd_dea, macd_macd = MACD(security, check_date=context.current_dt, SHORT=12, LONG=16, MID=9) print(macd_diff, macd_dea, macd_macd) # 取得當前現金 cash = context.portfolio.cash # 如果當前有餘額,並且DIFF/DEA均為正,DEFF向上突破DEA
if macd_diff > 0 and macd_dea > 0 and macd_diff > 0: # 用所有cash買入股票 order_value(security, cash) # 輸出日誌 log.info('買入股票 %s' % (security)) # 如果DIFF/DEA均為負,DIFF向下跌破DEA,並且目前有頭寸 elif macd_diff < 0 and macd_dea < 0 and macd_diff < macd_dea and context.
portfolio.positions[security].closeable_amount > 0: # 全部賣出 order_target(security, 0) # 輸出日誌 log.info('賣出股票 %s' % (security))

回測詳情:

注:本文章為個人學習筆記,參考了一些書籍與官方教程,不作任何商業用途!