均线策略(演示)

2026-04-29

此策略为简易均线策略。下方回测对应的是创业板指的20日均线策略,即在收盘时,创业板指20均线向上买入,向下卖出。

可自行克隆测试不同的指数,不同的均线。点选即可测试,无需修改代码。

注意:此策略只做演示,不作为投资参考,不作为任何买卖建议!

此策略只做学习使用,不作为投资参考,不作为任何买卖建议!
关联策略: 均线策略(演示) 9 次克隆

回测分析

-
年化收益率
-
最大回撤
-
夏普比率
-
胜率
展示区间 -
代码已隐藏
克隆策略后可查看完整代码
# 示例代码!!
from nmapi import *
import numpy as np
def initialize(context):
    set_slippage(FixedSlippage(0))
    set_order_cost(OrderCost(open_tax=0, close_tax=0, open_commission=0, close_commission=0, close_today_commission=0, min_commission=0), type='stock')
    set_order_cost(OrderCost(open_tax=0, close_tax=0, open_commission=0, close_commission=0, close_today_commission=0, min_commission=0), type='index')
    # 设定要交易的股票
    security_select = ''
    security_map = {
        '创业板指': '399006.SZ',
        '沪深300': '000300.SH',
        '中小综指': '399101.SZ',
        '上证50': '000016.SH',
        '中证1000': '000852.SH',
    }
    g.security = security_map.get(security_select, '')
    print(g.security)
    #运行函数
    run_daily(close_market, '15:00')

def close_market(context):
    security = g.security
    MA_n = 
    close_data = get_price(
        security,
        end_date=context.current_dt,
        count=(MA_n + 1),
        frequency='daily',
        fields=['close'],
        skip_paused=False,
        fq='pre',
        panel=False
    )
    
    if close_data is None or len(close_data) < (MA_n + 1):
        print('历史数据不足,跳过交易')
        return
    
    closes = close_data['close']
    maN_prev = np.mean(closes[:MA_n])
    maN_today = np.mean(closes[1:(MA_n + 1)])
    
    position = context.portfolio.positions[security].closeable_amount
    cash = context.portfolio.available_cash
    
    if maN_today > maN_prev:
        if position == 0 and cash > 0:
            order_value(security, cash)        
    elif maN_today <  maN_prev:
AI 策略分析

点击上方的“AI 分析策略”按钮,利用大模型深度解析该策略的逻辑、风险与改进方向。

请登录后参与评论讨论

关于作者
量化课堂
注册于 2025-10-08 06:42:24